/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Fri Apr 25 08:02:40 2008
 */
/* Compiler settings for ..\interface\Display.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __Display_h__
#define __Display_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __IToolbarObserver_FWD_DEFINED__
#define __IToolbarObserver_FWD_DEFINED__
typedef interface IToolbarObserver IToolbarObserver;
#endif 	/* __IToolbarObserver_FWD_DEFINED__ */


#ifndef __IDWSliderObserver_FWD_DEFINED__
#define __IDWSliderObserver_FWD_DEFINED__
typedef interface IDWSliderObserver IDWSliderObserver;
#endif 	/* __IDWSliderObserver_FWD_DEFINED__ */


#ifndef __IDWChuckRotationObserver_FWD_DEFINED__
#define __IDWChuckRotationObserver_FWD_DEFINED__
typedef interface IDWChuckRotationObserver IDWChuckRotationObserver;
#endif 	/* __IDWChuckRotationObserver_FWD_DEFINED__ */


#ifndef __IDWGridPitchObserver_FWD_DEFINED__
#define __IDWGridPitchObserver_FWD_DEFINED__
typedef interface IDWGridPitchObserver IDWGridPitchObserver;
#endif 	/* __IDWGridPitchObserver_FWD_DEFINED__ */


#ifndef __IDWGridSelectObserver_FWD_DEFINED__
#define __IDWGridSelectObserver_FWD_DEFINED__
typedef interface IDWGridSelectObserver IDWGridSelectObserver;
#endif 	/* __IDWGridSelectObserver_FWD_DEFINED__ */


#ifndef __IDWSelectRectangleObserver_FWD_DEFINED__
#define __IDWSelectRectangleObserver_FWD_DEFINED__
typedef interface IDWSelectRectangleObserver IDWSelectRectangleObserver;
#endif 	/* __IDWSelectRectangleObserver_FWD_DEFINED__ */


#ifndef __IDWWindow_FWD_DEFINED__
#define __IDWWindow_FWD_DEFINED__
typedef interface IDWWindow IDWWindow;
#endif 	/* __IDWWindow_FWD_DEFINED__ */


#ifndef __IDWSynchronizer_FWD_DEFINED__
#define __IDWSynchronizer_FWD_DEFINED__
typedef interface IDWSynchronizer IDWSynchronizer;
#endif 	/* __IDWSynchronizer_FWD_DEFINED__ */


#ifndef __IDWDIB_FWD_DEFINED__
#define __IDWDIB_FWD_DEFINED__
typedef interface IDWDIB IDWDIB;
#endif 	/* __IDWDIB_FWD_DEFINED__ */


#ifndef __IDWMFOVStitcher_FWD_DEFINED__
#define __IDWMFOVStitcher_FWD_DEFINED__
typedef interface IDWMFOVStitcher IDWMFOVStitcher;
#endif 	/* __IDWMFOVStitcher_FWD_DEFINED__ */


#ifndef __IDWDraw_FWD_DEFINED__
#define __IDWDraw_FWD_DEFINED__
typedef interface IDWDraw IDWDraw;
#endif 	/* __IDWDraw_FWD_DEFINED__ */


#ifndef __IDWFixedPointDraw_FWD_DEFINED__
#define __IDWFixedPointDraw_FWD_DEFINED__
typedef interface IDWFixedPointDraw IDWFixedPointDraw;
#endif 	/* __IDWFixedPointDraw_FWD_DEFINED__ */


#ifndef __IDWMmiDraw_FWD_DEFINED__
#define __IDWMmiDraw_FWD_DEFINED__
typedef interface IDWMmiDraw IDWMmiDraw;
#endif 	/* __IDWMmiDraw_FWD_DEFINED__ */


#ifndef __IDWTool_FWD_DEFINED__
#define __IDWTool_FWD_DEFINED__
typedef interface IDWTool IDWTool;
#endif 	/* __IDWTool_FWD_DEFINED__ */


#ifndef __IDWObject_FWD_DEFINED__
#define __IDWObject_FWD_DEFINED__
typedef interface IDWObject IDWObject;
#endif 	/* __IDWObject_FWD_DEFINED__ */


#ifndef __IDWRegion_FWD_DEFINED__
#define __IDWRegion_FWD_DEFINED__
typedef interface IDWRegion IDWRegion;
#endif 	/* __IDWRegion_FWD_DEFINED__ */


#ifndef __IDWRectangle_FWD_DEFINED__
#define __IDWRectangle_FWD_DEFINED__
typedef interface IDWRectangle IDWRectangle;
#endif 	/* __IDWRectangle_FWD_DEFINED__ */


#ifndef __IDWCircle_FWD_DEFINED__
#define __IDWCircle_FWD_DEFINED__
typedef interface IDWCircle IDWCircle;
#endif 	/* __IDWCircle_FWD_DEFINED__ */


#ifndef __IDWTriangleIsosceles_FWD_DEFINED__
#define __IDWTriangleIsosceles_FWD_DEFINED__
typedef interface IDWTriangleIsosceles IDWTriangleIsosceles;
#endif 	/* __IDWTriangleIsosceles_FWD_DEFINED__ */


#ifndef __IDWPoint_FWD_DEFINED__
#define __IDWPoint_FWD_DEFINED__
typedef interface IDWPoint IDWPoint;
#endif 	/* __IDWPoint_FWD_DEFINED__ */


#ifndef __IDWLine_FWD_DEFINED__
#define __IDWLine_FWD_DEFINED__
typedef interface IDWLine IDWLine;
#endif 	/* __IDWLine_FWD_DEFINED__ */


#ifndef __IDWDialBase_FWD_DEFINED__
#define __IDWDialBase_FWD_DEFINED__
typedef interface IDWDialBase IDWDialBase;
#endif 	/* __IDWDialBase_FWD_DEFINED__ */


#ifndef __IDWDialThreshold_FWD_DEFINED__
#define __IDWDialThreshold_FWD_DEFINED__
typedef interface IDWDialThreshold IDWDialThreshold;
#endif 	/* __IDWDialThreshold_FWD_DEFINED__ */


#ifndef __IDWDefectPixelsOverlay_FWD_DEFINED__
#define __IDWDefectPixelsOverlay_FWD_DEFINED__
typedef interface IDWDefectPixelsOverlay IDWDefectPixelsOverlay;
#endif 	/* __IDWDefectPixelsOverlay_FWD_DEFINED__ */


#ifndef __IDWDialObject_FWD_DEFINED__
#define __IDWDialObject_FWD_DEFINED__
typedef interface IDWDialObject IDWDialObject;
#endif 	/* __IDWDialObject_FWD_DEFINED__ */


#ifndef __IDWDialRectangle_FWD_DEFINED__
#define __IDWDialRectangle_FWD_DEFINED__
typedef interface IDWDialRectangle IDWDialRectangle;
#endif 	/* __IDWDialRectangle_FWD_DEFINED__ */


#ifndef __IDWDialMouseClick_FWD_DEFINED__
#define __IDWDialMouseClick_FWD_DEFINED__
typedef interface IDWDialMouseClick IDWDialMouseClick;
#endif 	/* __IDWDialMouseClick_FWD_DEFINED__ */


#ifndef __IDWDebugHistogram_FWD_DEFINED__
#define __IDWDebugHistogram_FWD_DEFINED__
typedef interface IDWDebugHistogram IDWDebugHistogram;
#endif 	/* __IDWDebugHistogram_FWD_DEFINED__ */


#ifndef __IDWDebugMagnifier_FWD_DEFINED__
#define __IDWDebugMagnifier_FWD_DEFINED__
typedef interface IDWDebugMagnifier IDWDebugMagnifier;
#endif 	/* __IDWDebugMagnifier_FWD_DEFINED__ */


#ifndef __IDWDebugProfile_FWD_DEFINED__
#define __IDWDebugProfile_FWD_DEFINED__
typedef interface IDWDebugProfile IDWDebugProfile;
#endif 	/* __IDWDebugProfile_FWD_DEFINED__ */


#ifndef __IDWInformation_FWD_DEFINED__
#define __IDWInformation_FWD_DEFINED__
typedef interface IDWInformation IDWInformation;
#endif 	/* __IDWInformation_FWD_DEFINED__ */


#ifndef __IDWColorTable_FWD_DEFINED__
#define __IDWColorTable_FWD_DEFINED__
typedef interface IDWColorTable IDWColorTable;
#endif 	/* __IDWColorTable_FWD_DEFINED__ */


#ifndef __IDWSetupFile_FWD_DEFINED__
#define __IDWSetupFile_FWD_DEFINED__
typedef interface IDWSetupFile IDWSetupFile;
#endif 	/* __IDWSetupFile_FWD_DEFINED__ */


#ifndef __IDWChuckRotation_FWD_DEFINED__
#define __IDWChuckRotation_FWD_DEFINED__
typedef interface IDWChuckRotation IDWChuckRotation;
#endif 	/* __IDWChuckRotation_FWD_DEFINED__ */


#ifndef __IDWGridPitch_FWD_DEFINED__
#define __IDWGridPitch_FWD_DEFINED__
typedef interface IDWGridPitch IDWGridPitch;
#endif 	/* __IDWGridPitch_FWD_DEFINED__ */


#ifndef __IDWGridSelect_FWD_DEFINED__
#define __IDWGridSelect_FWD_DEFINED__
typedef interface IDWGridSelect IDWGridSelect;
#endif 	/* __IDWGridSelect_FWD_DEFINED__ */


#ifndef __IDWSelectRectangle_FWD_DEFINED__
#define __IDWSelectRectangle_FWD_DEFINED__
typedef interface IDWSelectRectangle IDWSelectRectangle;
#endif 	/* __IDWSelectRectangle_FWD_DEFINED__ */


#ifndef __Display_FWD_DEFINED__
#define __Display_FWD_DEFINED__

#ifdef __cplusplus
typedef class Display Display;
#else
typedef struct Display Display;
#endif /* __cplusplus */

#endif 	/* __Display_FWD_DEFINED__ */


#ifndef __DisplayInformation_FWD_DEFINED__
#define __DisplayInformation_FWD_DEFINED__

#ifdef __cplusplus
typedef class DisplayInformation DisplayInformation;
#else
typedef struct DisplayInformation DisplayInformation;
#endif /* __cplusplus */

#endif 	/* __DisplayInformation_FWD_DEFINED__ */


#ifndef __ColorTable_FWD_DEFINED__
#define __ColorTable_FWD_DEFINED__

#ifdef __cplusplus
typedef class ColorTable ColorTable;
#else
typedef struct ColorTable ColorTable;
#endif /* __cplusplus */

#endif 	/* __ColorTable_FWD_DEFINED__ */


#ifndef __SetupFile_FWD_DEFINED__
#define __SetupFile_FWD_DEFINED__

#ifdef __cplusplus
typedef class SetupFile SetupFile;
#else
typedef struct SetupFile SetupFile;
#endif /* __cplusplus */

#endif 	/* __SetupFile_FWD_DEFINED__ */


#ifndef __RectangleObject_FWD_DEFINED__
#define __RectangleObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class RectangleObject RectangleObject;
#else
typedef struct RectangleObject RectangleObject;
#endif /* __cplusplus */

#endif 	/* __RectangleObject_FWD_DEFINED__ */


#ifndef __CircleObject_FWD_DEFINED__
#define __CircleObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class CircleObject CircleObject;
#else
typedef struct CircleObject CircleObject;
#endif /* __cplusplus */

#endif 	/* __CircleObject_FWD_DEFINED__ */


#ifndef __TriangleIsoscelesObject_FWD_DEFINED__
#define __TriangleIsoscelesObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class TriangleIsoscelesObject TriangleIsoscelesObject;
#else
typedef struct TriangleIsoscelesObject TriangleIsoscelesObject;
#endif /* __cplusplus */

#endif 	/* __TriangleIsoscelesObject_FWD_DEFINED__ */


#ifndef __PointObject_FWD_DEFINED__
#define __PointObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class PointObject PointObject;
#else
typedef struct PointObject PointObject;
#endif /* __cplusplus */

#endif 	/* __PointObject_FWD_DEFINED__ */


#ifndef __LineObject_FWD_DEFINED__
#define __LineObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class LineObject LineObject;
#else
typedef struct LineObject LineObject;
#endif /* __cplusplus */

#endif 	/* __LineObject_FWD_DEFINED__ */


#ifndef __RegionObject_FWD_DEFINED__
#define __RegionObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class RegionObject RegionObject;
#else
typedef struct RegionObject RegionObject;
#endif /* __cplusplus */

#endif 	/* __RegionObject_FWD_DEFINED__ */


#ifndef __ToolbarObserver_FWD_DEFINED__
#define __ToolbarObserver_FWD_DEFINED__

#ifdef __cplusplus
typedef class ToolbarObserver ToolbarObserver;
#else
typedef struct ToolbarObserver ToolbarObserver;
#endif /* __cplusplus */

#endif 	/* __ToolbarObserver_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#include "Tool.h"
#include "CommonInterfaces.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

/* interface __MIDL_itf_Display_0000 */
/* [local] */ 

#define DISPLAY_MAJOR_VERSION	3
#define DISPLAY_MINOR_VERSION	11
#define DISPLAY_BUG_FIX			0
/****************/
/* return codes */
/****************/
 
#define S_USERBREAK                      0x00DD0000
 
/***************/
/* error codes */
/***************/
 
#define E_WINDOWSAPI                     0x80DD0000
#define E_THRESHOLDSCROLLBARCREATION     0x80DD0001
#define E_WINDOWCREATION                 0x80DD0002
#define E_ALREADYINACTION                0x80DD0003
#define E_SUBCLASSWINDOWFAILED           0x80DD0004
#define E_INVALIDDIB                     0x80DD0005
#define E_SHUTDOWNDURINGDIAL             0x80DD0006
#define E_INVALIDNOOFWINDOWS	         0x80DD0007
#define E_INVALIDWINDOWNUMBER            0x80DD0008
#define E_INVALIDNOOFTHRESHOLDS          0x80DD0009
#define E_INVALIDZOOMFACTOR              0x80DD000A
#define E_WINDOWISEMPTY                  0x80DD000B
#define E_INVALIDPALETTEFORMAT           0x80DD000C
#define E_INVALID_COLOR_RESOLUTION       0x80DD000D
#define E_ENDOFENUMERATION               0x80DD000E
#define E_ALLOCATEWINDOWNAME             0x80DD000F
#define E_RESERVEDISPLAYLIST             0x80DD0010
#define E_ALLOCATEDISPLAYLIST            0x80DD0011
#define E_CREATEDISPLAYWINDOW            0x80DD0012
#define E_CREATEVERTSCROLLBAR            0x80DD0013
#define E_CREATEHORZSCROLLBAR            0x80DD0014
#define E_CREATESIZESCROLLBAR            0x80DD0015
#define E_NEGATIVEDIMENSION              0x80DD0016
#define E_NOT4DIVISIBLE                  0x80DD0017
#define E_INVALIDBOUNDARYRECTANGLE       0x80DD0018
#define E_THRESHOLDSNOTASCENDING         0x80DD0019
#define E_INVALIDCOLOR                   0x80DD001A
#define E_DISPLAYLISTTOOBIG              0x80DD001B
#define E_DISPLAYLISTMEMORY              0x80DD001C
#define E_INVALIDNOOFENTRIES             0x80DD001D
#define E_INVALIDPENSTYLE                0x80DD001E
#define E_INVALIDLINEWIDTH               0x80DD001F
#define E_INVALIDPATTERN                 0x80DD0020
#define E_INVALIDWIDTH                   0x80DD0021
#define E_INVALIDHEIGHT                  0x80DD0022
#define E_INVALIDNOOFELEMENTS            0x80DD0023
#define E_INVALIDNOOFLINES               0x80DD0024
#define E_INVALIDPOINTER                 0x80DD0025
#define E_INVALIDRADIUS                  0x80DD0026
#define E_INVALIDTYPE                    0x80DD0027
#define E_INVALIDNOOFPOINTS              0x80DD0028
#define E_CANNOTACTIVATEWINDOW           0x80DD0029
#define E_INVALIDNOOFBYTES               0x80DD002A
#define E_DISPLAYLISTFULL                0x800D002B
#define E_ALLOCATIONERROR                0x80DD002C
#define E_CREATEBRUSH                    0x80DD002D
#define E_INVALIDLINENUMBER              0x80DD002E
#define E_INVALIDPOINTSHAPE              0x80DD002F
#define E_INVALIDPOINTSIZE               0x80DD0030
#define E_INVALIDNAME                    0x80DD0031
#define E_NOTHINGTODO                    0x80DD0032
#define E_NOENTRY                        0x80DD0033
#define E_INVALIDENTRY                   0x80DD0034
#define E_OPENFILE                       0x80DD0035
#define E_INVALIDDIBFILE                 0x80DD0036
#define E_READFILE                       0x80DD0037
#define E_WRITEFILE	                     0x80DD0038
#define E_LOADINGRESOURCE                0x80DD0039
#define E_INVALIDANGLE                   0x80DD003A
#define E_INVALIDDISPLAYLIST             0x80DD003B
#define E_INVALIDWINDOWHANDLE            0x80DD003C
#define E_CANNOTCREATEMUTEX              0x80DD003D
#define E_CANNOTCREATEEVENT              0x80DD003E
#define E_CANNOTCREATETHREAD             0x80DD003F
 
#define WM_DISPLAYCONTEXTMENU                   (WM_USER + 1800)
#define WM_LBUTTON_POS		                    (WM_DISPLAYCONTEXTMENU + 100)
typedef /* [public][v1_enum] */ 
enum __MIDL___MIDL_itf_Display_0000_0001
    {	ICOS_RED	= 0,
	ICOS_GREEN	= ICOS_RED + 1,
	ICOS_BLUE	= ICOS_GREEN + 1,
	ICOS_YELLOW	= ICOS_BLUE + 1,
	ICOS_MAGENTA	= ICOS_YELLOW + 1,
	ICOS_CYAN	= ICOS_MAGENTA + 1,
	ICOS_DARKRED	= ICOS_CYAN + 1,
	ICOS_DARKGREEN	= ICOS_DARKRED + 1,
	ICOS_DARKBLUE	= ICOS_DARKGREEN + 1,
	ICOS_DARKYELLOW	= ICOS_DARKBLUE + 1,
	ICOS_DARKMAGENTA	= ICOS_DARKYELLOW + 1,
	ICOS_DARKCYAN	= ICOS_DARKMAGENTA + 1,
	ICOS_ORANGE	= ICOS_DARKCYAN + 1,
	ICOS_BROWN	= ICOS_ORANGE + 1,
	ICOS_MONEYGREEN	= ICOS_BROWN + 1,
	ICOS_SKYBLUE	= ICOS_MONEYGREEN + 1,
	ICOS_CREAM	= ICOS_SKYBLUE + 1,
	ICOS_LIGHTGRAY	= ICOS_CREAM + 1,
	ICOS_MEDIUMGRAY	= ICOS_LIGHTGRAY + 1,
	ICOS_DARKGRAY	= ICOS_MEDIUMGRAY + 1,
	ICOS_BLACK	= ICOS_DARKGRAY + 1,
	ICOS_WHITE	= ICOS_BLACK + 1,
	ICOS_CLEAR	= ICOS_WHITE + 1,
	ICOS_LASTCOLOR	= ICOS_CLEAR + 1
    }	ICOSCOLOR;

typedef /* [public][v1_enum] */ 
enum __MIDL___MIDL_itf_Display_0000_0002
    {	ICOS_NO_PEN	= 0,
	ICOS_SOLID	= ICOS_NO_PEN + 1,
	ICOS_DOT	= ICOS_SOLID + 1,
	ICOS_DASH	= ICOS_DOT + 1,
	ICOS_DASH_DOT	= ICOS_DASH + 1,
	ICOS_LONG_DASH	= ICOS_DASH_DOT + 1,
	ICOS_LONG_DASH_DOT	= ICOS_LONG_DASH + 1,
	ICOS_LONG_DASH_DOT_DOT	= ICOS_LONG_DASH_DOT + 1,
	ICOS_LASTLINESTYLE	= ICOS_LONG_DASH_DOT_DOT + 1
    }	ICOSLINESTYLE;

typedef /* [public][v1_enum] */ 
enum __MIDL___MIDL_itf_Display_0000_0003
    {	ICOS_NO_BRUSH	= 0,
	ICOS_FILL	= ICOS_NO_BRUSH + 1,
	ICOS_HATCH_HOR	= ICOS_FILL + 1,
	ICOS_HATCH_VERT	= ICOS_HATCH_HOR + 1,
	ICOS_HATCH_CROSS	= ICOS_HATCH_VERT + 1,
	ICOS_HATCH_BDIAG	= ICOS_HATCH_CROSS + 1,
	ICOS_HATCH_FDIAG	= ICOS_HATCH_BDIAG + 1,
	ICOS_HATCH_DIAGCROSS	= ICOS_HATCH_FDIAG + 1,
	ICOS_CHESSBOARD	= ICOS_HATCH_DIAGCROSS + 1,
	ICOS_LASTPATTERN	= ICOS_CHESSBOARD + 1
    }	ICOSPATTERN;

typedef /* [public][v1_enum] */ 
enum __MIDL___MIDL_itf_Display_0000_0004
    {	DFL_LIST_FOREGROUND	= 0,
	DFL_LIST_BACKGROUND	= 0x1,
	DFL_LIST_ICOS_CLEAR	= 0x2
    }	IDWDRAW_FLAGS;

 
#define TF_VCENTER       0x0000     // vertical alignment, default
#define TF_TOP           0x0001     // vertical alignment
#define TF_BOTTOM        0x0002     // vertical alignment
#define TF_HCENTER       0x0000     // horizontal alignment, default
#define TF_LEFT          0x0004     // horizontal alignment
#define TF_RIGHT         0x0008     // horizontal alignment
#define TF_TRANSPARENT   0x0000     // default             
#define TF_OPAQUE        0x0010     // background color is used  
 
 
typedef /* [public][v1_enum] */ 
enum __MIDL___MIDL_itf_Display_0000_0005
    {	ARC_FIRST	= -1,
	ARC_ARC	= 0,
	ARC_CHORD	= ARC_ARC + 1,
	ARC_PIE	= ARC_CHORD + 1,
	ARC_LAST	= ARC_PIE + 1
    }	ICOSARCTYPES;

typedef /* [v1_enum] */ 
enum tagPOINTSHAPE
    {	PT_CROSSHAIR	= 0,
	PT_CROSS	= PT_CROSSHAIR + 1,
	PT_CIRCLE	= PT_CROSS + 1,
	PT_SQUARE	= PT_CIRCLE + 1,
	PT_SQUARECROSS	= PT_SQUARE + 1,
	PT_LASTPOINTSHAPE	= PT_SQUARECROSS + 1
    }	POINTSHAPE;

typedef /* [v1_enum] */ 
enum tagPALETTECOLOR
    {	PALETTE_GREY	= 0,
	PALETTE_RED	= PALETTE_GREY + 1,
	PALETTE_GREEN	= PALETTE_RED + 1,
	PALETTE_BLUE	= PALETTE_GREEN + 1,
	PALETTE_PSEUDO	= PALETTE_BLUE + 1,
	PALETTE_FIXCOLOR	= PALETTE_PSEUDO + 1,
	PALETTE_BITMAP	= PALETTE_FIXCOLOR + 1,
	PALETTE_LAST	= PALETTE_BITMAP + 1
    }	PALETTECOLOR;

typedef /* [v1_enum] */ 
enum tagDEBUGMODE
    {	DEBUG_PROFILEFREE	= 0,
	DEBUG_PROFILEHORZ	= DEBUG_PROFILEFREE + 1,
	DEBUG_PROFILEVERT	= DEBUG_PROFILEHORZ + 1,
	DEBUG_PROFILELAST	= DEBUG_PROFILEVERT + 1
    }	DEBUGMODE;

typedef 
enum tagDIBFLAGS
    {	DIB_COMBINEGRAPHICS	= 0x1,
	DIB_LOADGRAPHICS	= 0x1,
	DIB_DISABLECHECK	= 0x2
    }	DIBFLAGS;

typedef 
enum tagDOREASON
    {	DOR_SELECTED	= 0x1,
	DOR_IDLE	= DOR_SELECTED + 1,
	DOR_CHANGED	= DOR_IDLE + 1,
	DOR_CREATED	= DOR_CHANGED + 1,
	DOR_DELETED	= DOR_CREATED + 1,
	DOR_HASMOUSE	= DOR_DELETED + 1
    }	DOREASON;

typedef 
enum tagDIALMODE
    {	DM_CREATE	= 1,
	DM_EDIT	= DM_CREATE + 1,
	DM_BOTH	= DM_EDIT + 1
    }	DIALMODE;

typedef 
enum tagRECTRESIZING
    {	RR_DISABLE	= 0,
	RR_DISABLEBOTHDIRECTIONS	= RR_DISABLE + 1,
	RR_ENABLE	= RR_DISABLEBOTHDIRECTIONS + 1
    }	RECTRESIZING;

#define MAX_NO_OF_THRESHOLDS              15
#define MAX_NO_OF_HANDLES               1024
#define MAX_NO_OF_DIAL_OBJECTS          1024
#define MAX_DISPLAY_LIST_LENGTH     0xc00000
#define MARKER_RADIUS                      4
#define ICOS_CLEAR_USED					    
#define MAX_NO_OF_TOOLS					 512
typedef /* [public][public] */ 
enum __MIDL___MIDL_itf_Display_0000_0006
    {	DISPLAY_UNIT_MICRON	= 0,
	DISPLAY_UNIT_MIL	= DISPLAY_UNIT_MICRON + 1
    }	DISPLAYWINDOWUNIT;

typedef 
enum eToolbarItem
    {	TBI_ZOOMIN	= 0,
	TBI_ZOOMFIT	= TBI_ZOOMIN + 1,
	TBI_ZOOMOUT	= TBI_ZOOMFIT + 1,
	TBI_PANNING	= TBI_ZOOMOUT + 1,
	TBI_GRAPHICS	= TBI_PANNING + 1,
	TBI_ALIGNMENT	= TBI_GRAPHICS + 1,
	TBI_NAVIGATIONTOOL	= TBI_ALIGNMENT + 1,
	TBI_NAVIGATIONWINDOW	= TBI_NAVIGATIONTOOL + 1,
	TBI_IMAGEUTILITIES	= TBI_NAVIGATIONWINDOW + 1,
	TBI_FITDEFECT	= TBI_IMAGEUTILITIES + 1,
	TBI_REFERENCE_IMAGE	= TBI_FITDEFECT + 1,
	TBI_ZOOMINGSLIDER	= TBI_REFERENCE_IMAGE + 1,
	TBI_HISTOGRAM_UTILITY	= TBI_ZOOMINGSLIDER + 1,
	TBI_HPROFILE_UTILITY	= TBI_HISTOGRAM_UTILITY + 1,
	TBI_VPROFILE_UTILITY	= TBI_HPROFILE_UTILITY + 1,
	TBI_FPROFILE_UTILITY	= TBI_VPROFILE_UTILITY + 1,
	TBI_MAGNIFIER_UTILITY	= TBI_FPROFILE_UTILITY + 1,
	TBI_DISTANCE_UTILITY	= TBI_MAGNIFIER_UTILITY + 1,
	TBI_FOVBOUNDARY	= TBI_DISTANCE_UTILITY + 1
    }	TOOLBARITEM;

typedef 
enum eSyncItem
    {	SI_ZOOM	= 0,
	SI_PAN	= SI_ZOOM + 1,
	SI_NAVIGATIONWINDOW	= SI_PAN + 1,
	SI_FITDEFECT	= SI_NAVIGATIONWINDOW + 1
    }	DISPLAYSYNCITEM;

#define MAKEBRUSH(type, color)       ( MAKEWORD( (BYTE)(type), (BYTE)(color) ) )
#define MAKEPALETTE(type, color)     ( MAKEWORD( (BYTE)(type), (BYTE)(color) ) )
#define GETTYPE(color)               ( LOBYTE( (WORD)(color) ) )
#define GETCOLOR(color)              ( HIBYTE( (WORD)(color) ) )
typedef /* [public] */ struct  __MIDL___MIDL_itf_Display_0000_0007
    {
    long lX;
    long lY;
    HWND hWnd;
    GUID guid;
    IUnknown __RPC_FAR *pIWindow;
    IUnknown __RPC_FAR *pIObject;
    }	DISPLAY_CONTEXT_MENU;

typedef /* [public][public] */ struct  __MIDL___MIDL_itf_Display_0000_0008
    {
    int id;
    HBITMAP bitmap;
    const unsigned char __RPC_FAR *name;
    }	TOOLBAR_GRAPHICS_OPTION;

typedef /* [public][public] */ struct  __MIDL___MIDL_itf_Display_0000_0009
    {
    float x;
    float y;
    float angle;
    }	NAVTOOL_POS;

typedef struct  FOVImageFileInfo
    {
    const OLECHAR __RPC_FAR *strFileName;
    POINT __RPC_FAR *ptPosition;
    }	FOVIMAGEFILEINFO;

typedef struct  FOVImageDataInfo
    {
    LPSTR lpData;
    DWORD dwSizeOfImageBuffer;
    POINT __RPC_FAR *ptPosition;
    long lWidth;
    long lHeight;
    }	FOVIMAGEDATAINFO;



extern RPC_IF_HANDLE __MIDL_itf_Display_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_Display_0000_v0_0_s_ifspec;

#ifndef __IToolbarObserver_INTERFACE_DEFINED__
#define __IToolbarObserver_INTERFACE_DEFINED__

/* interface IToolbarObserver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IToolbarObserver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("706306C8-B87B-45c1-840C-9D0AFF1071FF")
    IToolbarObserver
    {
    public:
        BEGIN_INTERFACE
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GraphicsLevelChanged( 
            int selectedId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NavToolPosChanged( 
            NAVTOOL_POS newPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AlignToolRotChanged( 
            float newAngle) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IToolbarObserverVtbl
    {
        BEGIN_INTERFACE
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GraphicsLevelChanged )( 
            IToolbarObserver __RPC_FAR * This,
            int selectedId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NavToolPosChanged )( 
            IToolbarObserver __RPC_FAR * This,
            NAVTOOL_POS newPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlignToolRotChanged )( 
            IToolbarObserver __RPC_FAR * This,
            float newAngle);
        
        END_INTERFACE
    } IToolbarObserverVtbl;

    interface IToolbarObserver
    {
        CONST_VTBL struct IToolbarObserverVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IToolbarObserver_GraphicsLevelChanged(This,selectedId)	\
    (This)->lpVtbl -> GraphicsLevelChanged(This,selectedId)

#define IToolbarObserver_NavToolPosChanged(This,newPosition)	\
    (This)->lpVtbl -> NavToolPosChanged(This,newPosition)

#define IToolbarObserver_AlignToolRotChanged(This,newAngle)	\
    (This)->lpVtbl -> AlignToolRotChanged(This,newAngle)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IToolbarObserver_GraphicsLevelChanged_Proxy( 
    IToolbarObserver __RPC_FAR * This,
    int selectedId);


void __RPC_STUB IToolbarObserver_GraphicsLevelChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IToolbarObserver_NavToolPosChanged_Proxy( 
    IToolbarObserver __RPC_FAR * This,
    NAVTOOL_POS newPosition);


void __RPC_STUB IToolbarObserver_NavToolPosChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IToolbarObserver_AlignToolRotChanged_Proxy( 
    IToolbarObserver __RPC_FAR * This,
    float newAngle);


void __RPC_STUB IToolbarObserver_AlignToolRotChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IToolbarObserver_INTERFACE_DEFINED__ */


#ifndef __IDWSliderObserver_INTERFACE_DEFINED__
#define __IDWSliderObserver_INTERFACE_DEFINED__

/* interface IDWSliderObserver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWSliderObserver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C5EDB14E-5D99-4746-950D-D06BCC1CD7B3")
    IDWSliderObserver
    {
    public:
        BEGIN_INTERFACE
        virtual HRESULT STDMETHODCALLTYPE PositionChanged( 
            DWORD currentposition,
            DWORD minValue,
            DWORD maxValue,
            DWORD percentageFailed) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IDWSliderObserverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PositionChanged )( 
            IDWSliderObserver __RPC_FAR * This,
            DWORD currentposition,
            DWORD minValue,
            DWORD maxValue,
            DWORD percentageFailed);
        
        END_INTERFACE
    } IDWSliderObserverVtbl;

    interface IDWSliderObserver
    {
        CONST_VTBL struct IDWSliderObserverVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWSliderObserver_PositionChanged(This,currentposition,minValue,maxValue,percentageFailed)	\
    (This)->lpVtbl -> PositionChanged(This,currentposition,minValue,maxValue,percentageFailed)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDWSliderObserver_PositionChanged_Proxy( 
    IDWSliderObserver __RPC_FAR * This,
    DWORD currentposition,
    DWORD minValue,
    DWORD maxValue,
    DWORD percentageFailed);


void __RPC_STUB IDWSliderObserver_PositionChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWSliderObserver_INTERFACE_DEFINED__ */


#ifndef __IDWChuckRotationObserver_INTERFACE_DEFINED__
#define __IDWChuckRotationObserver_INTERFACE_DEFINED__

/* interface IDWChuckRotationObserver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWChuckRotationObserver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0E9975DE-8357-465b-A3C7-CB40D2797296")
    IDWChuckRotationObserver
    {
    public:
        BEGIN_INTERFACE
        virtual HRESULT STDMETHODCALLTYPE AligningStarted( 
            POINT ptStart) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaferAngleChanged( 
            float fAngle,
            POINT ptEnd) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IDWChuckRotationObserverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AligningStarted )( 
            IDWChuckRotationObserver __RPC_FAR * This,
            POINT ptStart);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaferAngleChanged )( 
            IDWChuckRotationObserver __RPC_FAR * This,
            float fAngle,
            POINT ptEnd);
        
        END_INTERFACE
    } IDWChuckRotationObserverVtbl;

    interface IDWChuckRotationObserver
    {
        CONST_VTBL struct IDWChuckRotationObserverVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWChuckRotationObserver_AligningStarted(This,ptStart)	\
    (This)->lpVtbl -> AligningStarted(This,ptStart)

#define IDWChuckRotationObserver_WaferAngleChanged(This,fAngle,ptEnd)	\
    (This)->lpVtbl -> WaferAngleChanged(This,fAngle,ptEnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDWChuckRotationObserver_AligningStarted_Proxy( 
    IDWChuckRotationObserver __RPC_FAR * This,
    POINT ptStart);


void __RPC_STUB IDWChuckRotationObserver_AligningStarted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDWChuckRotationObserver_WaferAngleChanged_Proxy( 
    IDWChuckRotationObserver __RPC_FAR * This,
    float fAngle,
    POINT ptEnd);


void __RPC_STUB IDWChuckRotationObserver_WaferAngleChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWChuckRotationObserver_INTERFACE_DEFINED__ */


#ifndef __IDWGridPitchObserver_INTERFACE_DEFINED__
#define __IDWGridPitchObserver_INTERFACE_DEFINED__

/* interface IDWGridPitchObserver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWGridPitchObserver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C6BB4BF9-BBAF-4b35-A014-B828C1DD48DC")
    IDWGridPitchObserver
    {
    public:
        BEGIN_INTERFACE
        virtual HRESULT STDMETHODCALLTYPE HorPitchChanged( 
            float HorPitchVal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE VertPitchChanged( 
            float VertPitchVal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PanningStarted( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PanningStopped( void) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IDWGridPitchObserverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HorPitchChanged )( 
            IDWGridPitchObserver __RPC_FAR * This,
            float HorPitchVal);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VertPitchChanged )( 
            IDWGridPitchObserver __RPC_FAR * This,
            float VertPitchVal);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PanningStarted )( 
            IDWGridPitchObserver __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PanningStopped )( 
            IDWGridPitchObserver __RPC_FAR * This);
        
        END_INTERFACE
    } IDWGridPitchObserverVtbl;

    interface IDWGridPitchObserver
    {
        CONST_VTBL struct IDWGridPitchObserverVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWGridPitchObserver_HorPitchChanged(This,HorPitchVal)	\
    (This)->lpVtbl -> HorPitchChanged(This,HorPitchVal)

#define IDWGridPitchObserver_VertPitchChanged(This,VertPitchVal)	\
    (This)->lpVtbl -> VertPitchChanged(This,VertPitchVal)

#define IDWGridPitchObserver_PanningStarted(This)	\
    (This)->lpVtbl -> PanningStarted(This)

#define IDWGridPitchObserver_PanningStopped(This)	\
    (This)->lpVtbl -> PanningStopped(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDWGridPitchObserver_HorPitchChanged_Proxy( 
    IDWGridPitchObserver __RPC_FAR * This,
    float HorPitchVal);


void __RPC_STUB IDWGridPitchObserver_HorPitchChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDWGridPitchObserver_VertPitchChanged_Proxy( 
    IDWGridPitchObserver __RPC_FAR * This,
    float VertPitchVal);


void __RPC_STUB IDWGridPitchObserver_VertPitchChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDWGridPitchObserver_PanningStarted_Proxy( 
    IDWGridPitchObserver __RPC_FAR * This);


void __RPC_STUB IDWGridPitchObserver_PanningStarted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDWGridPitchObserver_PanningStopped_Proxy( 
    IDWGridPitchObserver __RPC_FAR * This);


void __RPC_STUB IDWGridPitchObserver_PanningStopped_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWGridPitchObserver_INTERFACE_DEFINED__ */


#ifndef __IDWGridSelectObserver_INTERFACE_DEFINED__
#define __IDWGridSelectObserver_INTERFACE_DEFINED__

/* interface IDWGridSelectObserver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWGridSelectObserver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AA54941F-A59A-441d-9ADF-F01237C8656E")
    IDWGridSelectObserver
    {
    public:
        BEGIN_INTERFACE
        virtual HRESULT STDMETHODCALLTYPE DieSelected( 
            int DieIdx) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IDWGridSelectObserverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DieSelected )( 
            IDWGridSelectObserver __RPC_FAR * This,
            int DieIdx);
        
        END_INTERFACE
    } IDWGridSelectObserverVtbl;

    interface IDWGridSelectObserver
    {
        CONST_VTBL struct IDWGridSelectObserverVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWGridSelectObserver_DieSelected(This,DieIdx)	\
    (This)->lpVtbl -> DieSelected(This,DieIdx)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDWGridSelectObserver_DieSelected_Proxy( 
    IDWGridSelectObserver __RPC_FAR * This,
    int DieIdx);


void __RPC_STUB IDWGridSelectObserver_DieSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWGridSelectObserver_INTERFACE_DEFINED__ */


#ifndef __IDWSelectRectangleObserver_INTERFACE_DEFINED__
#define __IDWSelectRectangleObserver_INTERFACE_DEFINED__

/* interface IDWSelectRectangleObserver */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWSelectRectangleObserver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9A29235E-8573-41c5-8064-7FBAEE29A732")
    IDWSelectRectangleObserver
    {
    public:
        BEGIN_INTERFACE
        virtual HRESULT STDMETHODCALLTYPE SecondCornerPosSelected( 
            POINT SecondCorner) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RectangleSizeChanged( 
            int HorSize,
            int VertSize) = 0;
        
        END_INTERFACE
    };
    
#else 	/* C style interface */

    typedef struct IDWSelectRectangleObserverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SecondCornerPosSelected )( 
            IDWSelectRectangleObserver __RPC_FAR * This,
            POINT SecondCorner);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RectangleSizeChanged )( 
            IDWSelectRectangleObserver __RPC_FAR * This,
            int HorSize,
            int VertSize);
        
        END_INTERFACE
    } IDWSelectRectangleObserverVtbl;

    interface IDWSelectRectangleObserver
    {
        CONST_VTBL struct IDWSelectRectangleObserverVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWSelectRectangleObserver_SecondCornerPosSelected(This,SecondCorner)	\
    (This)->lpVtbl -> SecondCornerPosSelected(This,SecondCorner)

#define IDWSelectRectangleObserver_RectangleSizeChanged(This,HorSize,VertSize)	\
    (This)->lpVtbl -> RectangleSizeChanged(This,HorSize,VertSize)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDWSelectRectangleObserver_SecondCornerPosSelected_Proxy( 
    IDWSelectRectangleObserver __RPC_FAR * This,
    POINT SecondCorner);


void __RPC_STUB IDWSelectRectangleObserver_SecondCornerPosSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDWSelectRectangleObserver_RectangleSizeChanged_Proxy( 
    IDWSelectRectangleObserver __RPC_FAR * This,
    int HorSize,
    int VertSize);


void __RPC_STUB IDWSelectRectangleObserver_RectangleSizeChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWSelectRectangleObserver_INTERFACE_DEFINED__ */


#ifndef __IDWWindow_INTERFACE_DEFINED__
#define __IDWWindow_INTERFACE_DEFINED__

/* interface IDWWindow */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4beb-f51b-11d3-82f3-00105a67f94e")
    IDWWindow : public IQWindowStandard
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ HWND hwndParent,
            /* [string][in] */ OLECHAR __RPC_FAR *lpstrName,
            /* [out] */ HWND __RPC_FAR *phwnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowID( 
            /* [in] */ DWORD dwWindowID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWindowID( 
            /* [out] */ DWORD __RPC_FAR *pdwWindowID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUserData( 
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUserData( 
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetZoom( 
            /* [in] */ long iZoom) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetZoom( 
            /* [out] */ long __RPC_FAR *lZoom) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CenterImage( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Pan( 
            /* [in] */ const POINT ptToCenter) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetReportWindow( 
            /* [in] */ HWND hwndReport) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableScrollbars( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableLivingFrame( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableFreeSize( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableStore( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBackgroundBrush( 
            /* [in] */ const HBRUSH hBrush) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableShadowImage( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImageChanged( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPan( 
            /* [out] */ POINT __RPC_FAR *pCenterPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsFreeSizeEnabled( 
            /* [out] */ BOOL __RPC_FAR *pbEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsLivingFrameEnabled( 
            /* [out] */ BOOL __RPC_FAR *pbEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsScrollbarsEnabled( 
            /* [out] */ BOOL __RPC_FAR *pbEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsShadowImageEnabled( 
            /* [out] */ BOOL __RPC_FAR *pbEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsStoreEnabled( 
            /* [out] */ BOOL __RPC_FAR *pbEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetInfoWindow( 
            /* [in] */ HWND hwndInfo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockImage( 
            /* [in] */ BOOL bLock) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableToolbar( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableToolbar( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableStatusbar( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableStatusbar( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachToolbarObserver( 
            IToolbarObserver __RPC_FAR *observer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUnit( 
            DISPLAYWINDOWUNIT unit) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetResolution( 
            /* [in] */ float fResX,
            /* [in] */ float fResY) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnalogZoom( 
            /* [in] */ long lZoom) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnalogZoom( 
            /* [out] */ long __RPC_FAR *lZoom) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetToolbarSettings( 
            /* [in] */ byte __RPC_FAR *pbyData,
            /* [in] */ int nSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolbarSettingsBufferSize( 
            /* [out] */ int __RPC_FAR *pnSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetToolbarSettings( 
            /* [out] */ byte __RPC_FAR *pbyData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetZoomRange( 
            /* [in] */ long lMin,
            /* [in] */ long lMax) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetZoomRange( 
            /* [out] */ long __RPC_FAR *lMin,
            /* [out] */ long __RPC_FAR *lMax) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableDisplayToolTip( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableDisplayToolTip( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableToolbarItem( 
            /* [in] */ TOOLBARITEM item) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableToolbarItem( 
            /* [in] */ TOOLBARITEM item) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableNavigationWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableNavigationWindow( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayDimensions( 
            /* [out] */ SIZE __RPC_FAR *size) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetToolbarGraphicsOptions( 
            const TOOLBAR_GRAPHICS_OPTION __RPC_FAR *pOptions,
            int nOptions,
            int nDefaultOptionId,
            BOOL bNotifyDefault,
            /* [string][in] */ const OLECHAR __RPC_FAR *lpcstrButtonName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableFitDefectMode( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableFitDefectMode( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAreaOfInterest( 
            /* [in] */ LPRECT lprcAOI) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachToolbarObserver( 
            IToolbarObserver __RPC_FAR *observer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopActiveUtility( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ZoomToFit( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWWindow __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plMajor,
            /* [out] */ long __RPC_FAR *plMinor,
            /* [out] */ long __RPC_FAR *plBugfix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHWND )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ HWND __RPC_FAR *phWnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowWindow )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const long lShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveWindow )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const RECT __RPC_FAR *prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetParent )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ HWND hwnsParent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvalidateWindow )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateWindow )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCaption )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ OLECHAR __RPC_FAR *lpstrCaption,
            /* [out][in] */ long __RPC_FAR *plNoOfCharacters);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCaption )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const OLECHAR __RPC_FAR *lpstrCaption);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStyle )( 
            IDWWindow __RPC_FAR * This,
            /* [retval][out] */ DWORD __RPC_FAR *pdwStyle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStyle )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const DWORD dwStyle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetID )( 
            IDWWindow __RPC_FAR * This,
            /* [retval][out] */ DWORD __RPC_FAR *pdwID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetID )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const DWORD dwID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyWindow )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIcon )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const ENUMICONSIZE enumIconSize,
            /* [out] */ HICON __RPC_FAR *phIcon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Create )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ HWND hwndParent,
            /* [string][in] */ OLECHAR __RPC_FAR *lpstrName,
            /* [out] */ HWND __RPC_FAR *phwnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowID )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ DWORD dwWindowID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindowID )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ DWORD __RPC_FAR *pdwWindowID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWWindow __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoom )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ long iZoom);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoom )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *lZoom);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CenterImage )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pan )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const POINT ptToCenter);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReportWindow )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ HWND hwndReport);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableScrollbars )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableLivingFrame )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableFreeSize )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableStore )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackgroundBrush )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const HBRUSH hBrush);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableShadowImage )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImageChanged )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPan )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ POINT __RPC_FAR *pCenterPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsFreeSizeEnabled )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsLivingFrameEnabled )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsScrollbarsEnabled )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsShadowImageEnabled )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsStoreEnabled )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInfoWindow )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ HWND hwndInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockImage )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableToolbar )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableToolbar )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableStatusbar )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableStatusbar )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachToolbarObserver )( 
            IDWWindow __RPC_FAR * This,
            IToolbarObserver __RPC_FAR *observer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUnit )( 
            IDWWindow __RPC_FAR * This,
            DISPLAYWINDOWUNIT unit);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetResolution )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ float fResX,
            /* [in] */ float fResY);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAnalogZoom )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ long lZoom);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAnalogZoom )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *lZoom);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetToolbarSettings )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ byte __RPC_FAR *pbyData,
            /* [in] */ int nSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetToolbarSettingsBufferSize )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ int __RPC_FAR *pnSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetToolbarSettings )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ byte __RPC_FAR *pbyData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoomRange )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ long lMin,
            /* [in] */ long lMax);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoomRange )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *lMin,
            /* [out] */ long __RPC_FAR *lMax);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableDisplayToolTip )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableDisplayToolTip )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableToolbarItem )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ TOOLBARITEM item);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableToolbarItem )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ TOOLBARITEM item);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableNavigationWindow )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableNavigationWindow )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDisplayDimensions )( 
            IDWWindow __RPC_FAR * This,
            /* [out] */ SIZE __RPC_FAR *size);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetToolbarGraphicsOptions )( 
            IDWWindow __RPC_FAR * This,
            const TOOLBAR_GRAPHICS_OPTION __RPC_FAR *pOptions,
            int nOptions,
            int nDefaultOptionId,
            BOOL bNotifyDefault,
            /* [string][in] */ const OLECHAR __RPC_FAR *lpcstrButtonName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableFitDefectMode )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableFitDefectMode )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAreaOfInterest )( 
            IDWWindow __RPC_FAR * This,
            /* [in] */ LPRECT lprcAOI);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DetachToolbarObserver )( 
            IDWWindow __RPC_FAR * This,
            IToolbarObserver __RPC_FAR *observer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopActiveUtility )( 
            IDWWindow __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ZoomToFit )( 
            IDWWindow __RPC_FAR * This);
        
        END_INTERFACE
    } IDWWindowVtbl;

    interface IDWWindow
    {
        CONST_VTBL struct IDWWindowVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWWindow_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWWindow_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWWindow_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWWindow_GetVersion(This,plMajor,plMinor,plBugfix)	\
    (This)->lpVtbl -> GetVersion(This,plMajor,plMinor,plBugfix)


#define IDWWindow_GetHWND(This,phWnd)	\
    (This)->lpVtbl -> GetHWND(This,phWnd)

#define IDWWindow_ShowWindow(This,lShow)	\
    (This)->lpVtbl -> ShowWindow(This,lShow)

#define IDWWindow_MoveWindow(This,prcPosition)	\
    (This)->lpVtbl -> MoveWindow(This,prcPosition)

#define IDWWindow_SetParent(This,hwnsParent)	\
    (This)->lpVtbl -> SetParent(This,hwnsParent)

#define IDWWindow_InvalidateWindow(This)	\
    (This)->lpVtbl -> InvalidateWindow(This)

#define IDWWindow_UpdateWindow(This)	\
    (This)->lpVtbl -> UpdateWindow(This)

#define IDWWindow_GetCaption(This,lpstrCaption,plNoOfCharacters)	\
    (This)->lpVtbl -> GetCaption(This,lpstrCaption,plNoOfCharacters)

#define IDWWindow_SetCaption(This,lpstrCaption)	\
    (This)->lpVtbl -> SetCaption(This,lpstrCaption)

#define IDWWindow_GetStyle(This,pdwStyle)	\
    (This)->lpVtbl -> GetStyle(This,pdwStyle)

#define IDWWindow_SetStyle(This,dwStyle)	\
    (This)->lpVtbl -> SetStyle(This,dwStyle)

#define IDWWindow_GetID(This,pdwID)	\
    (This)->lpVtbl -> GetID(This,pdwID)

#define IDWWindow_SetID(This,dwID)	\
    (This)->lpVtbl -> SetID(This,dwID)

#define IDWWindow_DestroyWindow(This)	\
    (This)->lpVtbl -> DestroyWindow(This)

#define IDWWindow_GetIcon(This,enumIconSize,phIcon)	\
    (This)->lpVtbl -> GetIcon(This,enumIconSize,phIcon)


#define IDWWindow_Create(This,hwndParent,lpstrName,phwnd)	\
    (This)->lpVtbl -> Create(This,hwndParent,lpstrName,phwnd)

#define IDWWindow_SetWindowID(This,dwWindowID)	\
    (This)->lpVtbl -> SetWindowID(This,dwWindowID)

#define IDWWindow_GetWindowID(This,pdwWindowID)	\
    (This)->lpVtbl -> GetWindowID(This,pdwWindowID)

#define IDWWindow_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWWindow_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWWindow_SetZoom(This,iZoom)	\
    (This)->lpVtbl -> SetZoom(This,iZoom)

#define IDWWindow_GetZoom(This,lZoom)	\
    (This)->lpVtbl -> GetZoom(This,lZoom)

#define IDWWindow_CenterImage(This)	\
    (This)->lpVtbl -> CenterImage(This)

#define IDWWindow_Pan(This,ptToCenter)	\
    (This)->lpVtbl -> Pan(This,ptToCenter)

#define IDWWindow_SetReportWindow(This,hwndReport)	\
    (This)->lpVtbl -> SetReportWindow(This,hwndReport)

#define IDWWindow_EnableScrollbars(This,bEnable)	\
    (This)->lpVtbl -> EnableScrollbars(This,bEnable)

#define IDWWindow_EnableLivingFrame(This,bEnable)	\
    (This)->lpVtbl -> EnableLivingFrame(This,bEnable)

#define IDWWindow_EnableFreeSize(This,bEnable)	\
    (This)->lpVtbl -> EnableFreeSize(This,bEnable)

#define IDWWindow_EnableStore(This,bEnable)	\
    (This)->lpVtbl -> EnableStore(This,bEnable)

#define IDWWindow_SetBackgroundBrush(This,hBrush)	\
    (This)->lpVtbl -> SetBackgroundBrush(This,hBrush)

#define IDWWindow_EnableShadowImage(This,bEnable)	\
    (This)->lpVtbl -> EnableShadowImage(This,bEnable)

#define IDWWindow_ImageChanged(This)	\
    (This)->lpVtbl -> ImageChanged(This)

#define IDWWindow_GetPan(This,pCenterPoint)	\
    (This)->lpVtbl -> GetPan(This,pCenterPoint)

#define IDWWindow_IsFreeSizeEnabled(This,pbEnabled)	\
    (This)->lpVtbl -> IsFreeSizeEnabled(This,pbEnabled)

#define IDWWindow_IsLivingFrameEnabled(This,pbEnabled)	\
    (This)->lpVtbl -> IsLivingFrameEnabled(This,pbEnabled)

#define IDWWindow_IsScrollbarsEnabled(This,pbEnabled)	\
    (This)->lpVtbl -> IsScrollbarsEnabled(This,pbEnabled)

#define IDWWindow_IsShadowImageEnabled(This,pbEnabled)	\
    (This)->lpVtbl -> IsShadowImageEnabled(This,pbEnabled)

#define IDWWindow_IsStoreEnabled(This,pbEnabled)	\
    (This)->lpVtbl -> IsStoreEnabled(This,pbEnabled)

#define IDWWindow_SetInfoWindow(This,hwndInfo)	\
    (This)->lpVtbl -> SetInfoWindow(This,hwndInfo)

#define IDWWindow_LockImage(This,bLock)	\
    (This)->lpVtbl -> LockImage(This,bLock)

#define IDWWindow_EnableToolbar(This)	\
    (This)->lpVtbl -> EnableToolbar(This)

#define IDWWindow_DisableToolbar(This)	\
    (This)->lpVtbl -> DisableToolbar(This)

#define IDWWindow_EnableStatusbar(This)	\
    (This)->lpVtbl -> EnableStatusbar(This)

#define IDWWindow_DisableStatusbar(This)	\
    (This)->lpVtbl -> DisableStatusbar(This)

#define IDWWindow_AttachToolbarObserver(This,observer)	\
    (This)->lpVtbl -> AttachToolbarObserver(This,observer)

#define IDWWindow_SetUnit(This,unit)	\
    (This)->lpVtbl -> SetUnit(This,unit)

#define IDWWindow_SetResolution(This,fResX,fResY)	\
    (This)->lpVtbl -> SetResolution(This,fResX,fResY)

#define IDWWindow_SetAnalogZoom(This,lZoom)	\
    (This)->lpVtbl -> SetAnalogZoom(This,lZoom)

#define IDWWindow_GetAnalogZoom(This,lZoom)	\
    (This)->lpVtbl -> GetAnalogZoom(This,lZoom)

#define IDWWindow_SetToolbarSettings(This,pbyData,nSize)	\
    (This)->lpVtbl -> SetToolbarSettings(This,pbyData,nSize)

#define IDWWindow_GetToolbarSettingsBufferSize(This,pnSize)	\
    (This)->lpVtbl -> GetToolbarSettingsBufferSize(This,pnSize)

#define IDWWindow_GetToolbarSettings(This,pbyData)	\
    (This)->lpVtbl -> GetToolbarSettings(This,pbyData)

#define IDWWindow_SetZoomRange(This,lMin,lMax)	\
    (This)->lpVtbl -> SetZoomRange(This,lMin,lMax)

#define IDWWindow_GetZoomRange(This,lMin,lMax)	\
    (This)->lpVtbl -> GetZoomRange(This,lMin,lMax)

#define IDWWindow_EnableDisplayToolTip(This)	\
    (This)->lpVtbl -> EnableDisplayToolTip(This)

#define IDWWindow_DisableDisplayToolTip(This)	\
    (This)->lpVtbl -> DisableDisplayToolTip(This)

#define IDWWindow_EnableToolbarItem(This,item)	\
    (This)->lpVtbl -> EnableToolbarItem(This,item)

#define IDWWindow_DisableToolbarItem(This,item)	\
    (This)->lpVtbl -> DisableToolbarItem(This,item)

#define IDWWindow_EnableNavigationWindow(This)	\
    (This)->lpVtbl -> EnableNavigationWindow(This)

#define IDWWindow_DisableNavigationWindow(This)	\
    (This)->lpVtbl -> DisableNavigationWindow(This)

#define IDWWindow_GetDisplayDimensions(This,size)	\
    (This)->lpVtbl -> GetDisplayDimensions(This,size)

#define IDWWindow_SetToolbarGraphicsOptions(This,pOptions,nOptions,nDefaultOptionId,bNotifyDefault,lpcstrButtonName)	\
    (This)->lpVtbl -> SetToolbarGraphicsOptions(This,pOptions,nOptions,nDefaultOptionId,bNotifyDefault,lpcstrButtonName)

#define IDWWindow_EnableFitDefectMode(This)	\
    (This)->lpVtbl -> EnableFitDefectMode(This)

#define IDWWindow_DisableFitDefectMode(This)	\
    (This)->lpVtbl -> DisableFitDefectMode(This)

#define IDWWindow_SetAreaOfInterest(This,lprcAOI)	\
    (This)->lpVtbl -> SetAreaOfInterest(This,lprcAOI)

#define IDWWindow_DetachToolbarObserver(This,observer)	\
    (This)->lpVtbl -> DetachToolbarObserver(This,observer)

#define IDWWindow_StopActiveUtility(This)	\
    (This)->lpVtbl -> StopActiveUtility(This)

#define IDWWindow_ZoomToFit(This)	\
    (This)->lpVtbl -> ZoomToFit(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_Create_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ HWND hwndParent,
    /* [string][in] */ OLECHAR __RPC_FAR *lpstrName,
    /* [out] */ HWND __RPC_FAR *phwnd);


void __RPC_STUB IDWWindow_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetWindowID_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ DWORD dwWindowID);


void __RPC_STUB IDWWindow_SetWindowID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetWindowID_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ DWORD __RPC_FAR *pdwWindowID);


void __RPC_STUB IDWWindow_GetWindowID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetUserData_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const long lNoOfBytes,
    /* [size_is][in] */ const BYTE __RPC_FAR *pData);


void __RPC_STUB IDWWindow_SetUserData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetUserData_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out][in] */ long __RPC_FAR *lNoOfBytes,
    /* [size_is][out] */ BYTE __RPC_FAR *pData);


void __RPC_STUB IDWWindow_GetUserData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetZoom_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ long iZoom);


void __RPC_STUB IDWWindow_SetZoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetZoom_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *lZoom);


void __RPC_STUB IDWWindow_GetZoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_CenterImage_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_CenterImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_Pan_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const POINT ptToCenter);


void __RPC_STUB IDWWindow_Pan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetReportWindow_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ HWND hwndReport);


void __RPC_STUB IDWWindow_SetReportWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableScrollbars_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWWindow_EnableScrollbars_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableLivingFrame_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWWindow_EnableLivingFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableFreeSize_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWWindow_EnableFreeSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableStore_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWWindow_EnableStore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetBackgroundBrush_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const HBRUSH hBrush);


void __RPC_STUB IDWWindow_SetBackgroundBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableShadowImage_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWWindow_EnableShadowImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_ImageChanged_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_ImageChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetPan_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ POINT __RPC_FAR *pCenterPoint);


void __RPC_STUB IDWWindow_GetPan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_IsFreeSizeEnabled_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbEnabled);


void __RPC_STUB IDWWindow_IsFreeSizeEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_IsLivingFrameEnabled_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbEnabled);


void __RPC_STUB IDWWindow_IsLivingFrameEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_IsScrollbarsEnabled_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbEnabled);


void __RPC_STUB IDWWindow_IsScrollbarsEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_IsShadowImageEnabled_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbEnabled);


void __RPC_STUB IDWWindow_IsShadowImageEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_IsStoreEnabled_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbEnabled);


void __RPC_STUB IDWWindow_IsStoreEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetInfoWindow_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ HWND hwndInfo);


void __RPC_STUB IDWWindow_SetInfoWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_LockImage_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ BOOL bLock);


void __RPC_STUB IDWWindow_LockImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableToolbar_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_EnableToolbar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DisableToolbar_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_DisableToolbar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableStatusbar_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_EnableStatusbar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DisableStatusbar_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_DisableStatusbar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_AttachToolbarObserver_Proxy( 
    IDWWindow __RPC_FAR * This,
    IToolbarObserver __RPC_FAR *observer);


void __RPC_STUB IDWWindow_AttachToolbarObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetUnit_Proxy( 
    IDWWindow __RPC_FAR * This,
    DISPLAYWINDOWUNIT unit);


void __RPC_STUB IDWWindow_SetUnit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetResolution_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ float fResX,
    /* [in] */ float fResY);


void __RPC_STUB IDWWindow_SetResolution_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetAnalogZoom_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ long lZoom);


void __RPC_STUB IDWWindow_SetAnalogZoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetAnalogZoom_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *lZoom);


void __RPC_STUB IDWWindow_GetAnalogZoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetToolbarSettings_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ byte __RPC_FAR *pbyData,
    /* [in] */ int nSize);


void __RPC_STUB IDWWindow_SetToolbarSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetToolbarSettingsBufferSize_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ int __RPC_FAR *pnSize);


void __RPC_STUB IDWWindow_GetToolbarSettingsBufferSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetToolbarSettings_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ byte __RPC_FAR *pbyData);


void __RPC_STUB IDWWindow_GetToolbarSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetZoomRange_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ long lMin,
    /* [in] */ long lMax);


void __RPC_STUB IDWWindow_SetZoomRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetZoomRange_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *lMin,
    /* [out] */ long __RPC_FAR *lMax);


void __RPC_STUB IDWWindow_GetZoomRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableDisplayToolTip_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_EnableDisplayToolTip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DisableDisplayToolTip_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_DisableDisplayToolTip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableToolbarItem_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ TOOLBARITEM item);


void __RPC_STUB IDWWindow_EnableToolbarItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DisableToolbarItem_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ TOOLBARITEM item);


void __RPC_STUB IDWWindow_DisableToolbarItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableNavigationWindow_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_EnableNavigationWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DisableNavigationWindow_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_DisableNavigationWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_GetDisplayDimensions_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [out] */ SIZE __RPC_FAR *size);


void __RPC_STUB IDWWindow_GetDisplayDimensions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetToolbarGraphicsOptions_Proxy( 
    IDWWindow __RPC_FAR * This,
    const TOOLBAR_GRAPHICS_OPTION __RPC_FAR *pOptions,
    int nOptions,
    int nDefaultOptionId,
    BOOL bNotifyDefault,
    /* [string][in] */ const OLECHAR __RPC_FAR *lpcstrButtonName);


void __RPC_STUB IDWWindow_SetToolbarGraphicsOptions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_EnableFitDefectMode_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_EnableFitDefectMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DisableFitDefectMode_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_DisableFitDefectMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_SetAreaOfInterest_Proxy( 
    IDWWindow __RPC_FAR * This,
    /* [in] */ LPRECT lprcAOI);


void __RPC_STUB IDWWindow_SetAreaOfInterest_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_DetachToolbarObserver_Proxy( 
    IDWWindow __RPC_FAR * This,
    IToolbarObserver __RPC_FAR *observer);


void __RPC_STUB IDWWindow_DetachToolbarObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_StopActiveUtility_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_StopActiveUtility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWWindow_ZoomToFit_Proxy( 
    IDWWindow __RPC_FAR * This);


void __RPC_STUB IDWWindow_ZoomToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWWindow_INTERFACE_DEFINED__ */


#ifndef __IDWSynchronizer_INTERFACE_DEFINED__
#define __IDWSynchronizer_INTERFACE_DEFINED__

/* interface IDWSynchronizer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWSynchronizer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B058BE76-8915-4b65-BDE0-DC4C23639693")
    IDWSynchronizer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddWindow( 
            /* [in] */ DWORD displayWindowId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSyncItem( 
            /* [in] */ DISPLAYSYNCITEM item) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearAllSyncItems( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWSynchronizerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWSynchronizer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWSynchronizer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWSynchronizer __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddWindow )( 
            IDWSynchronizer __RPC_FAR * This,
            /* [in] */ DWORD displayWindowId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSyncItem )( 
            IDWSynchronizer __RPC_FAR * This,
            /* [in] */ DISPLAYSYNCITEM item);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ClearAllSyncItems )( 
            IDWSynchronizer __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            IDWSynchronizer __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWSynchronizer __RPC_FAR * This);
        
        END_INTERFACE
    } IDWSynchronizerVtbl;

    interface IDWSynchronizer
    {
        CONST_VTBL struct IDWSynchronizerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWSynchronizer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWSynchronizer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWSynchronizer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWSynchronizer_AddWindow(This,displayWindowId)	\
    (This)->lpVtbl -> AddWindow(This,displayWindowId)

#define IDWSynchronizer_AddSyncItem(This,item)	\
    (This)->lpVtbl -> AddSyncItem(This,item)

#define IDWSynchronizer_ClearAllSyncItems(This)	\
    (This)->lpVtbl -> ClearAllSyncItems(This)

#define IDWSynchronizer_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDWSynchronizer_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSynchronizer_AddWindow_Proxy( 
    IDWSynchronizer __RPC_FAR * This,
    /* [in] */ DWORD displayWindowId);


void __RPC_STUB IDWSynchronizer_AddWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSynchronizer_AddSyncItem_Proxy( 
    IDWSynchronizer __RPC_FAR * This,
    /* [in] */ DISPLAYSYNCITEM item);


void __RPC_STUB IDWSynchronizer_AddSyncItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSynchronizer_ClearAllSyncItems_Proxy( 
    IDWSynchronizer __RPC_FAR * This);


void __RPC_STUB IDWSynchronizer_ClearAllSyncItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSynchronizer_Start_Proxy( 
    IDWSynchronizer __RPC_FAR * This);


void __RPC_STUB IDWSynchronizer_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSynchronizer_Stop_Proxy( 
    IDWSynchronizer __RPC_FAR * This);


void __RPC_STUB IDWSynchronizer_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWSynchronizer_INTERFACE_DEFINED__ */


#ifndef __IDWDIB_INTERFACE_DEFINED__
#define __IDWDIB_INTERFACE_DEFINED__

/* interface IDWDIB */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWDIB;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bec-f51b-11d3-82f3-00105a67f94e")
    IDWDIB : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetImageBuffer( 
            /* [size_is][in] */ LPSTR lpvData,
            /* [in] */ long lSizeOfImageBuffer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetImageBuffer( 
            /* [size_is][out] */ LPSTR __RPC_FAR *plpstrAddress,
            /* [out][in] */ long __RPC_FAR *plSizeofImageBuffer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDimensions( 
            /* [in] */ long lWidth,
            /* [in] */ long lHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDimensions( 
            /* [out] */ long __RPC_FAR *lWidth,
            /* [out] */ long __RPC_FAR *lHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPalette( 
            /* [out][in] */ long __RPC_FAR *lNoOfThresholds,
            /* [size_is][out] */ BYTE __RPC_FAR *pbyThresholds,
            /* [size_is][out] */ unsigned short __RPC_FAR *pusColors) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPalette( 
            /* [in] */ const long lNoOfThresholds,
            /* [size_is][in] */ const BYTE __RPC_FAR *pbyThresholds,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusColors) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveAsJpeg( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetReferenceImage( 
            /* [size_is][in] */ LPSTR lpvData,
            /* [in] */ long lSizeOfImageBuffer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsValid( 
            /* [out] */ BOOL __RPC_FAR *pbValid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveAsTiff( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDIBVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDIB __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDIB __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDIB __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImageBuffer )( 
            IDWDIB __RPC_FAR * This,
            /* [size_is][in] */ LPSTR lpvData,
            /* [in] */ long lSizeOfImageBuffer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImageBuffer )( 
            IDWDIB __RPC_FAR * This,
            /* [size_is][out] */ LPSTR __RPC_FAR *plpstrAddress,
            /* [out][in] */ long __RPC_FAR *plSizeofImageBuffer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDimensions )( 
            IDWDIB __RPC_FAR * This,
            /* [in] */ long lWidth,
            /* [in] */ long lHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDimensions )( 
            IDWDIB __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *lWidth,
            /* [out] */ long __RPC_FAR *lHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPalette )( 
            IDWDIB __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfThresholds,
            /* [size_is][out] */ BYTE __RPC_FAR *pbyThresholds,
            /* [size_is][out] */ unsigned short __RPC_FAR *pusColors);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPalette )( 
            IDWDIB __RPC_FAR * This,
            /* [in] */ const long lNoOfThresholds,
            /* [size_is][in] */ const BYTE __RPC_FAR *pbyThresholds,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusColors);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
            IDWDIB __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
            IDWDIB __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAsJpeg )( 
            IDWDIB __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReferenceImage )( 
            IDWDIB __RPC_FAR * This,
            /* [size_is][in] */ LPSTR lpvData,
            /* [in] */ long lSizeOfImageBuffer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsValid )( 
            IDWDIB __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbValid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAsTiff )( 
            IDWDIB __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
            /* [in] */ const DWORD dwFlags);
        
        END_INTERFACE
    } IDWDIBVtbl;

    interface IDWDIB
    {
        CONST_VTBL struct IDWDIBVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDIB_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDIB_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDIB_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDIB_SetImageBuffer(This,lpvData,lSizeOfImageBuffer)	\
    (This)->lpVtbl -> SetImageBuffer(This,lpvData,lSizeOfImageBuffer)

#define IDWDIB_GetImageBuffer(This,plpstrAddress,plSizeofImageBuffer)	\
    (This)->lpVtbl -> GetImageBuffer(This,plpstrAddress,plSizeofImageBuffer)

#define IDWDIB_SetDimensions(This,lWidth,lHeight)	\
    (This)->lpVtbl -> SetDimensions(This,lWidth,lHeight)

#define IDWDIB_GetDimensions(This,lWidth,lHeight)	\
    (This)->lpVtbl -> GetDimensions(This,lWidth,lHeight)

#define IDWDIB_GetPalette(This,lNoOfThresholds,pbyThresholds,pusColors)	\
    (This)->lpVtbl -> GetPalette(This,lNoOfThresholds,pbyThresholds,pusColors)

#define IDWDIB_SetPalette(This,lNoOfThresholds,pbyThresholds,pusColors)	\
    (This)->lpVtbl -> SetPalette(This,lNoOfThresholds,pbyThresholds,pusColors)

#define IDWDIB_Load(This,strFileName,dwFlags)	\
    (This)->lpVtbl -> Load(This,strFileName,dwFlags)

#define IDWDIB_Save(This,strFileName,dwFlags)	\
    (This)->lpVtbl -> Save(This,strFileName,dwFlags)

#define IDWDIB_SaveAsJpeg(This,strFileName,dwFlags)	\
    (This)->lpVtbl -> SaveAsJpeg(This,strFileName,dwFlags)

#define IDWDIB_SetReferenceImage(This,lpvData,lSizeOfImageBuffer)	\
    (This)->lpVtbl -> SetReferenceImage(This,lpvData,lSizeOfImageBuffer)

#define IDWDIB_IsValid(This,pbValid)	\
    (This)->lpVtbl -> IsValid(This,pbValid)

#define IDWDIB_SaveAsTiff(This,strFileName,dwFlags)	\
    (This)->lpVtbl -> SaveAsTiff(This,strFileName,dwFlags)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_SetImageBuffer_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [size_is][in] */ LPSTR lpvData,
    /* [in] */ long lSizeOfImageBuffer);


void __RPC_STUB IDWDIB_SetImageBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_GetImageBuffer_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [size_is][out] */ LPSTR __RPC_FAR *plpstrAddress,
    /* [out][in] */ long __RPC_FAR *plSizeofImageBuffer);


void __RPC_STUB IDWDIB_GetImageBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_SetDimensions_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [in] */ long lWidth,
    /* [in] */ long lHeight);


void __RPC_STUB IDWDIB_SetDimensions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_GetDimensions_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *lWidth,
    /* [out] */ long __RPC_FAR *lHeight);


void __RPC_STUB IDWDIB_GetDimensions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_GetPalette_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [out][in] */ long __RPC_FAR *lNoOfThresholds,
    /* [size_is][out] */ BYTE __RPC_FAR *pbyThresholds,
    /* [size_is][out] */ unsigned short __RPC_FAR *pusColors);


void __RPC_STUB IDWDIB_GetPalette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_SetPalette_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [in] */ const long lNoOfThresholds,
    /* [size_is][in] */ const BYTE __RPC_FAR *pbyThresholds,
    /* [size_is][in] */ const unsigned short __RPC_FAR *pusColors);


void __RPC_STUB IDWDIB_SetPalette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_Load_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
    /* [in] */ const DWORD dwFlags);


void __RPC_STUB IDWDIB_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_Save_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
    /* [in] */ const DWORD dwFlags);


void __RPC_STUB IDWDIB_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_SaveAsJpeg_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
    /* [in] */ const DWORD dwFlags);


void __RPC_STUB IDWDIB_SaveAsJpeg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_SetReferenceImage_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [size_is][in] */ LPSTR lpvData,
    /* [in] */ long lSizeOfImageBuffer);


void __RPC_STUB IDWDIB_SetReferenceImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_IsValid_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbValid);


void __RPC_STUB IDWDIB_IsValid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDIB_SaveAsTiff_Proxy( 
    IDWDIB __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strFileName,
    /* [in] */ const DWORD dwFlags);


void __RPC_STUB IDWDIB_SaveAsTiff_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDIB_INTERFACE_DEFINED__ */


#ifndef __IDWMFOVStitcher_INTERFACE_DEFINED__
#define __IDWMFOVStitcher_INTERFACE_DEFINED__

/* interface IDWMFOVStitcher */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWMFOVStitcher;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BD9E1B52-5657-4d34-9C51-10A0F31CF6FE")
    IDWMFOVStitcher : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetImagesFromFile( 
            /* [in] */ int nNumOfImages,
            /* [in] */ const FOVIMAGEFILEINFO __RPC_FAR *pImageDetails,
            /* [in] */ const DWORD dwFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetImagesFromMemory( 
            /* [in] */ int nNumOfImages,
            /* [in] */ const FOVIMAGEDATAINFO __RPC_FAR *pImageDetails) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StitchImages( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowFOVBoundaries( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HideFOVBoundaries( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWMFOVStitcherVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWMFOVStitcher __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWMFOVStitcher __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWMFOVStitcher __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImagesFromFile )( 
            IDWMFOVStitcher __RPC_FAR * This,
            /* [in] */ int nNumOfImages,
            /* [in] */ const FOVIMAGEFILEINFO __RPC_FAR *pImageDetails,
            /* [in] */ const DWORD dwFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImagesFromMemory )( 
            IDWMFOVStitcher __RPC_FAR * This,
            /* [in] */ int nNumOfImages,
            /* [in] */ const FOVIMAGEDATAINFO __RPC_FAR *pImageDetails);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StitchImages )( 
            IDWMFOVStitcher __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowFOVBoundaries )( 
            IDWMFOVStitcher __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HideFOVBoundaries )( 
            IDWMFOVStitcher __RPC_FAR * This);
        
        END_INTERFACE
    } IDWMFOVStitcherVtbl;

    interface IDWMFOVStitcher
    {
        CONST_VTBL struct IDWMFOVStitcherVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWMFOVStitcher_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWMFOVStitcher_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWMFOVStitcher_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWMFOVStitcher_SetImagesFromFile(This,nNumOfImages,pImageDetails,dwFlags)	\
    (This)->lpVtbl -> SetImagesFromFile(This,nNumOfImages,pImageDetails,dwFlags)

#define IDWMFOVStitcher_SetImagesFromMemory(This,nNumOfImages,pImageDetails)	\
    (This)->lpVtbl -> SetImagesFromMemory(This,nNumOfImages,pImageDetails)

#define IDWMFOVStitcher_StitchImages(This)	\
    (This)->lpVtbl -> StitchImages(This)

#define IDWMFOVStitcher_ShowFOVBoundaries(This)	\
    (This)->lpVtbl -> ShowFOVBoundaries(This)

#define IDWMFOVStitcher_HideFOVBoundaries(This)	\
    (This)->lpVtbl -> HideFOVBoundaries(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMFOVStitcher_SetImagesFromFile_Proxy( 
    IDWMFOVStitcher __RPC_FAR * This,
    /* [in] */ int nNumOfImages,
    /* [in] */ const FOVIMAGEFILEINFO __RPC_FAR *pImageDetails,
    /* [in] */ const DWORD dwFlags);


void __RPC_STUB IDWMFOVStitcher_SetImagesFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMFOVStitcher_SetImagesFromMemory_Proxy( 
    IDWMFOVStitcher __RPC_FAR * This,
    /* [in] */ int nNumOfImages,
    /* [in] */ const FOVIMAGEDATAINFO __RPC_FAR *pImageDetails);


void __RPC_STUB IDWMFOVStitcher_SetImagesFromMemory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMFOVStitcher_StitchImages_Proxy( 
    IDWMFOVStitcher __RPC_FAR * This);


void __RPC_STUB IDWMFOVStitcher_StitchImages_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMFOVStitcher_ShowFOVBoundaries_Proxy( 
    IDWMFOVStitcher __RPC_FAR * This);


void __RPC_STUB IDWMFOVStitcher_ShowFOVBoundaries_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMFOVStitcher_HideFOVBoundaries_Proxy( 
    IDWMFOVStitcher __RPC_FAR * This);


void __RPC_STUB IDWMFOVStitcher_HideFOVBoundaries_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWMFOVStitcher_INTERFACE_DEFINED__ */


#ifndef __IDWDraw_INTERFACE_DEFINED__
#define __IDWDraw_INTERFACE_DEFINED__

/* interface IDWDraw */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWDraw;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bed-f51b-11d3-82f3-00105a67f94e")
    IDWDraw : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableDisplayList( 
            /* [in] */ const BOOL bEnable,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayListEnabled( 
            /* [out] */ BOOL __RPC_FAR *pbEnabled,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePen( 
            /* [in] */ const BYTE byPenStyle,
            /* [in] */ const short sWidth,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBrush( 
            /* [in] */ const long lStyle,
            /* [in] */ const long lHatch,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBrushShort( 
            /* [in] */ const BYTE byStyle,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveTo( 
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LineTo( 
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LineToArray( 
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Line( 
            /* [in] */ const short sX1,
            /* [in] */ const short sY1,
            /* [in] */ const short sX2,
            /* [in] */ const short sY2,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LineArray( 
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rectangle( 
            /* [in] */ short sLeft,
            /* [in] */ short sTop,
            /* [in] */ short sRight,
            /* [in] */ short sBottom,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPixel( 
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPixelArray( 
            /* [in] */ const long lNo,
            /* [size_is][in] */ const short __RPC_FAR *ps,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TextOut( 
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Point( 
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const unsigned short sSize,
            /* [in] */ const unsigned short sType,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Polygon( 
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const short __RPC_FAR *ps,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Matrix( 
            /* [in] */ const short sOrgX,
            /* [in] */ const short sOrgY,
            /* [in] */ const short sWidth,
            /* [in] */ const short sHeight,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Ellipse( 
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EllipseArray( 
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Arc( 
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const long lCenterX,
            /* [in] */ const long lCenterY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ArcArray( 
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const short __RPC_FAR *psCenter,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( 
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Compact( 
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetICOSClearMode( 
            /* [in] */ const BOOL bClear) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGraphicBuffer( 
            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
            /* [out] */ DWORD __RPC_FAR *pNoOfBytes,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGraphicBuffer( 
            /* [in] */ BYTE __RPC_FAR *pBuffer,
            /* [in] */ DWORD dwNoOfBytes,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendGraphicBuffer( 
            /* [in] */ BYTE __RPC_FAR *pBuffer,
            /* [in] */ DWORD dwNoOfBytes,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFontHeight( 
            /* [in] */ const BYTE byHeight,
            /* [in] */ const DWORD dwFlag) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDrawVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDraw __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDraw __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableDisplayList )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const BOOL bEnable,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDisplayListEnabled )( 
            IDWDraw __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePen )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const BYTE byPenStyle,
            /* [in] */ const short sWidth,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBrush )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lStyle,
            /* [in] */ const long lHatch,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBrushShort )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const BYTE byStyle,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveTo )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LineTo )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LineToArray )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Line )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sX1,
            /* [in] */ const short sY1,
            /* [in] */ const short sX2,
            /* [in] */ const short sY2,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LineArray )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rectangle )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ short sLeft,
            /* [in] */ short sTop,
            /* [in] */ short sRight,
            /* [in] */ short sBottom,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPixel )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPixelArray )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lNo,
            /* [size_is][in] */ const short __RPC_FAR *ps,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TextOut )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Point )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const unsigned short sSize,
            /* [in] */ const unsigned short sType,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Polygon )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const short __RPC_FAR *ps,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Matrix )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const short sOrgX,
            /* [in] */ const short sOrgY,
            /* [in] */ const short sWidth,
            /* [in] */ const short sHeight,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Ellipse )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EllipseArray )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Arc )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const long lCenterX,
            /* [in] */ const long lCenterY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArcArray )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const short __RPC_FAR *psCenter,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compact )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetICOSClearMode )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const BOOL bClear);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGraphicBuffer )( 
            IDWDraw __RPC_FAR * This,
            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
            /* [out] */ DWORD __RPC_FAR *pNoOfBytes,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGraphicBuffer )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ BYTE __RPC_FAR *pBuffer,
            /* [in] */ DWORD dwNoOfBytes,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendGraphicBuffer )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ BYTE __RPC_FAR *pBuffer,
            /* [in] */ DWORD dwNoOfBytes,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFontHeight )( 
            IDWDraw __RPC_FAR * This,
            /* [in] */ const BYTE byHeight,
            /* [in] */ const DWORD dwFlag);
        
        END_INTERFACE
    } IDWDrawVtbl;

    interface IDWDraw
    {
        CONST_VTBL struct IDWDrawVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDraw_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDraw_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDraw_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDraw_EnableDisplayList(This,bEnable,dwFlag)	\
    (This)->lpVtbl -> EnableDisplayList(This,bEnable,dwFlag)

#define IDWDraw_GetDisplayListEnabled(This,pbEnabled,dwFlag)	\
    (This)->lpVtbl -> GetDisplayListEnabled(This,pbEnabled,dwFlag)

#define IDWDraw_CreatePen(This,byPenStyle,sWidth,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> CreatePen(This,byPenStyle,sWidth,byColorIndex,dwFlag)

#define IDWDraw_CreateBrush(This,lStyle,lHatch,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> CreateBrush(This,lStyle,lHatch,byColorIndex,dwFlag)

#define IDWDraw_CreateBrushShort(This,byStyle,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> CreateBrushShort(This,byStyle,byColorIndex,dwFlag)

#define IDWDraw_MoveTo(This,sX,sY,dwFlag)	\
    (This)->lpVtbl -> MoveTo(This,sX,sY,dwFlag)

#define IDWDraw_LineTo(This,sX,sY,dwFlag)	\
    (This)->lpVtbl -> LineTo(This,sX,sY,dwFlag)

#define IDWDraw_LineToArray(This,lNoOfLines,psPoints,dwFlag)	\
    (This)->lpVtbl -> LineToArray(This,lNoOfLines,psPoints,dwFlag)

#define IDWDraw_Line(This,sX1,sY1,sX2,sY2,dwFlag)	\
    (This)->lpVtbl -> Line(This,sX1,sY1,sX2,sY2,dwFlag)

#define IDWDraw_LineArray(This,lNoOfLines,psPoints,dwFlag)	\
    (This)->lpVtbl -> LineArray(This,lNoOfLines,psPoints,dwFlag)

#define IDWDraw_Rectangle(This,sLeft,sTop,sRight,sBottom,dwFlag)	\
    (This)->lpVtbl -> Rectangle(This,sLeft,sTop,sRight,sBottom,dwFlag)

#define IDWDraw_SetPixel(This,sX,sY,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> SetPixel(This,sX,sY,byColorIndex,dwFlag)

#define IDWDraw_SetPixelArray(This,lNo,ps,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> SetPixelArray(This,lNo,ps,byColorIndex,dwFlag)

#define IDWDraw_TextOut(This,sX,sY,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)	\
    (This)->lpVtbl -> TextOut(This,sX,sY,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)

#define IDWDraw_Point(This,sX,sY,byColorIndex,sSize,sType,dwFlag)	\
    (This)->lpVtbl -> Point(This,sX,sY,byColorIndex,sSize,sType,dwFlag)

#define IDWDraw_Polygon(This,lNoOfPoints,ps,dwFlag)	\
    (This)->lpVtbl -> Polygon(This,lNoOfPoints,ps,dwFlag)

#define IDWDraw_Matrix(This,sOrgX,sOrgY,sWidth,sHeight,sNoX,sNoY,pusBrush,dwFlag)	\
    (This)->lpVtbl -> Matrix(This,sOrgX,sOrgY,sWidth,sHeight,sNoX,sNoY,pusBrush,dwFlag)

#define IDWDraw_Ellipse(This,lRadiusHorz,lRadiusVert,lX,lY,dwFlag)	\
    (This)->lpVtbl -> Ellipse(This,lRadiusHorz,lRadiusVert,lX,lY,dwFlag)

#define IDWDraw_EllipseArray(This,lNoOfEllipses,lRadiusHorz,lRadiusVert,psPoints,dwFlag)	\
    (This)->lpVtbl -> EllipseArray(This,lNoOfEllipses,lRadiusHorz,lRadiusVert,psPoints,dwFlag)

#define IDWDraw_Arc(This,sArcType,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,lCenterX,lCenterY,dwFlag)	\
    (This)->lpVtbl -> Arc(This,sArcType,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,lCenterX,lCenterY,dwFlag)

#define IDWDraw_ArcArray(This,sArcType,lNoOfArcs,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,psCenter,dwFlag)	\
    (This)->lpVtbl -> ArcArray(This,sArcType,lNoOfArcs,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,psCenter,dwFlag)

#define IDWDraw_Clear(This,dwFlag)	\
    (This)->lpVtbl -> Clear(This,dwFlag)

#define IDWDraw_Compact(This,dwFlag)	\
    (This)->lpVtbl -> Compact(This,dwFlag)

#define IDWDraw_SetICOSClearMode(This,bClear)	\
    (This)->lpVtbl -> SetICOSClearMode(This,bClear)

#define IDWDraw_GetGraphicBuffer(This,ppBuffer,pNoOfBytes,dwFlag)	\
    (This)->lpVtbl -> GetGraphicBuffer(This,ppBuffer,pNoOfBytes,dwFlag)

#define IDWDraw_SetGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)	\
    (This)->lpVtbl -> SetGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)

#define IDWDraw_AppendGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)	\
    (This)->lpVtbl -> AppendGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)

#define IDWDraw_SetFontHeight(This,byHeight,dwFlag)	\
    (This)->lpVtbl -> SetFontHeight(This,byHeight,dwFlag)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_EnableDisplayList_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const BOOL bEnable,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_EnableDisplayList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_GetDisplayListEnabled_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbEnabled,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_GetDisplayListEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_CreatePen_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const BYTE byPenStyle,
    /* [in] */ const short sWidth,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_CreatePen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_CreateBrush_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lStyle,
    /* [in] */ const long lHatch,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_CreateBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_CreateBrushShort_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const BYTE byStyle,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_CreateBrushShort_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_MoveTo_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sX,
    /* [in] */ const short sY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_MoveTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_LineTo_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sX,
    /* [in] */ const short sY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_LineTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_LineToArray_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfLines,
    /* [size_is][in] */ const short __RPC_FAR *psPoints,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_LineToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Line_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sX1,
    /* [in] */ const short sY1,
    /* [in] */ const short sX2,
    /* [in] */ const short sY2,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Line_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_LineArray_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfLines,
    /* [size_is][in] */ const short __RPC_FAR *psPoints,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_LineArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Rectangle_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ short sLeft,
    /* [in] */ short sTop,
    /* [in] */ short sRight,
    /* [in] */ short sBottom,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Rectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_SetPixel_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sX,
    /* [in] */ const short sY,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_SetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_SetPixelArray_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lNo,
    /* [size_is][in] */ const short __RPC_FAR *ps,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_SetPixelArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_TextOut_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sX,
    /* [in] */ const short sY,
    /* [in] */ const OLECHAR __RPC_FAR *olestrText,
    /* [in] */ const BYTE byTextColorIndex,
    /* [in] */ const BYTE byBackgroundColorIndex,
    /* [in] */ const DWORD dwTextFlags,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_TextOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Point_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sX,
    /* [in] */ const short sY,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const unsigned short sSize,
    /* [in] */ const unsigned short sType,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Polygon_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfPoints,
    /* [size_is][in] */ const short __RPC_FAR *ps,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Polygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Matrix_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const short sOrgX,
    /* [in] */ const short sOrgY,
    /* [in] */ const short sWidth,
    /* [in] */ const short sHeight,
    /* [in] */ const short sNoX,
    /* [in] */ const short sNoY,
    /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Matrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Ellipse_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Ellipse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_EllipseArray_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfEllipses,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [size_is][in] */ const short __RPC_FAR *psPoints,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_EllipseArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Arc_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const unsigned short sArcType,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [in] */ const long lAngleStart,
    /* [in] */ const long lAngleEnd,
    /* [in] */ const long lCenterX,
    /* [in] */ const long lCenterY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Arc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_ArcArray_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const unsigned short sArcType,
    /* [in] */ const long lNoOfArcs,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [in] */ const long lAngleStart,
    /* [in] */ const long lAngleEnd,
    /* [size_is][in] */ const short __RPC_FAR *psCenter,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_ArcArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Clear_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_Compact_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_Compact_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_SetICOSClearMode_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const BOOL bClear);


void __RPC_STUB IDWDraw_SetICOSClearMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_GetGraphicBuffer_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
    /* [out] */ DWORD __RPC_FAR *pNoOfBytes,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_GetGraphicBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_SetGraphicBuffer_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ BYTE __RPC_FAR *pBuffer,
    /* [in] */ DWORD dwNoOfBytes,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_SetGraphicBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_AppendGraphicBuffer_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ BYTE __RPC_FAR *pBuffer,
    /* [in] */ DWORD dwNoOfBytes,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_AppendGraphicBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDraw_SetFontHeight_Proxy( 
    IDWDraw __RPC_FAR * This,
    /* [in] */ const BYTE byHeight,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWDraw_SetFontHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDraw_INTERFACE_DEFINED__ */


#ifndef __IDWFixedPointDraw_INTERFACE_DEFINED__
#define __IDWFixedPointDraw_INTERFACE_DEFINED__

/* interface IDWFixedPointDraw */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWFixedPointDraw;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A24A08F0-2B95-11d6-9A8E-000102E0DA04")
    IDWFixedPointDraw : public IDWDraw
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointMoveTo( 
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointLineTo( 
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointLineToArray( 
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointLine( 
            /* [in] */ const long lX1,
            /* [in] */ const long lY1,
            /* [in] */ const long lX2,
            /* [in] */ const long lY2,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointLineArray( 
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointRectangle( 
            /* [in] */ long lLeft,
            /* [in] */ long lTop,
            /* [in] */ long lRight,
            /* [in] */ long lBottom,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointSetPixel( 
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointSetPixelArray( 
            /* [in] */ const long lNo,
            /* [size_is][in] */ const long __RPC_FAR *pl,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointTextOut( 
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointPoint( 
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const unsigned short sSize,
            /* [in] */ const unsigned short sType,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointPolygon( 
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const long __RPC_FAR *pl,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointMatrix( 
            /* [in] */ const long lOrgX,
            /* [in] */ const long lOrgY,
            /* [in] */ const long lWidth,
            /* [in] */ const long lHeight,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointEllipse( 
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointEllipseArray( 
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointArc( 
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const long lCenterX,
            /* [in] */ const long lCenterY,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointArcArray( 
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const long __RPC_FAR *plCenter,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FixedPointBitmap( 
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWFixedPointDrawVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWFixedPointDraw __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWFixedPointDraw __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableDisplayList )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const BOOL bEnable,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDisplayListEnabled )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbEnabled,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePen )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const BYTE byPenStyle,
            /* [in] */ const short sWidth,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBrush )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lStyle,
            /* [in] */ const long lHatch,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBrushShort )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const BYTE byStyle,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveTo )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LineTo )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LineToArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Line )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sX1,
            /* [in] */ const short sY1,
            /* [in] */ const short sX2,
            /* [in] */ const short sY2,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LineArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rectangle )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ short sLeft,
            /* [in] */ short sTop,
            /* [in] */ short sRight,
            /* [in] */ short sBottom,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPixel )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPixelArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNo,
            /* [size_is][in] */ const short __RPC_FAR *ps,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TextOut )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Point )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sX,
            /* [in] */ const short sY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const unsigned short sSize,
            /* [in] */ const unsigned short sType,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Polygon )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const short __RPC_FAR *ps,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Matrix )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const short sOrgX,
            /* [in] */ const short sOrgY,
            /* [in] */ const short sWidth,
            /* [in] */ const short sHeight,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Ellipse )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EllipseArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [size_is][in] */ const short __RPC_FAR *psPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Arc )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const long lCenterX,
            /* [in] */ const long lCenterY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ArcArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const short __RPC_FAR *psCenter,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compact )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetICOSClearMode )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const BOOL bClear);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGraphicBuffer )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
            /* [out] */ DWORD __RPC_FAR *pNoOfBytes,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGraphicBuffer )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ BYTE __RPC_FAR *pBuffer,
            /* [in] */ DWORD dwNoOfBytes,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendGraphicBuffer )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ BYTE __RPC_FAR *pBuffer,
            /* [in] */ DWORD dwNoOfBytes,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFontHeight )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const BYTE byHeight,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointMoveTo )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointLineTo )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointLineToArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointLine )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lX1,
            /* [in] */ const long lY1,
            /* [in] */ const long lX2,
            /* [in] */ const long lY2,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointLineArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointRectangle )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ long lLeft,
            /* [in] */ long lTop,
            /* [in] */ long lRight,
            /* [in] */ long lBottom,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointSetPixel )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointSetPixelArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNo,
            /* [size_is][in] */ const long __RPC_FAR *pl,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointTextOut )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointPoint )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const unsigned short sSize,
            /* [in] */ const unsigned short sType,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointPolygon )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const long __RPC_FAR *pl,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointMatrix )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lOrgX,
            /* [in] */ const long lOrgY,
            /* [in] */ const long lWidth,
            /* [in] */ const long lHeight,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointEllipse )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lX,
            /* [in] */ const long lY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointEllipseArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointArc )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const long lCenterX,
            /* [in] */ const long lCenterY,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointArcArray )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const long lRadiusHorz,
            /* [in] */ const long lRadiusVert,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const long __RPC_FAR *plCenter,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FixedPointBitmap )( 
            IDWFixedPointDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfPoints,
            /* [size_is][in] */ const long __RPC_FAR *plPoints,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        END_INTERFACE
    } IDWFixedPointDrawVtbl;

    interface IDWFixedPointDraw
    {
        CONST_VTBL struct IDWFixedPointDrawVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWFixedPointDraw_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWFixedPointDraw_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWFixedPointDraw_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWFixedPointDraw_EnableDisplayList(This,bEnable,dwFlag)	\
    (This)->lpVtbl -> EnableDisplayList(This,bEnable,dwFlag)

#define IDWFixedPointDraw_GetDisplayListEnabled(This,pbEnabled,dwFlag)	\
    (This)->lpVtbl -> GetDisplayListEnabled(This,pbEnabled,dwFlag)

#define IDWFixedPointDraw_CreatePen(This,byPenStyle,sWidth,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> CreatePen(This,byPenStyle,sWidth,byColorIndex,dwFlag)

#define IDWFixedPointDraw_CreateBrush(This,lStyle,lHatch,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> CreateBrush(This,lStyle,lHatch,byColorIndex,dwFlag)

#define IDWFixedPointDraw_CreateBrushShort(This,byStyle,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> CreateBrushShort(This,byStyle,byColorIndex,dwFlag)

#define IDWFixedPointDraw_MoveTo(This,sX,sY,dwFlag)	\
    (This)->lpVtbl -> MoveTo(This,sX,sY,dwFlag)

#define IDWFixedPointDraw_LineTo(This,sX,sY,dwFlag)	\
    (This)->lpVtbl -> LineTo(This,sX,sY,dwFlag)

#define IDWFixedPointDraw_LineToArray(This,lNoOfLines,psPoints,dwFlag)	\
    (This)->lpVtbl -> LineToArray(This,lNoOfLines,psPoints,dwFlag)

#define IDWFixedPointDraw_Line(This,sX1,sY1,sX2,sY2,dwFlag)	\
    (This)->lpVtbl -> Line(This,sX1,sY1,sX2,sY2,dwFlag)

#define IDWFixedPointDraw_LineArray(This,lNoOfLines,psPoints,dwFlag)	\
    (This)->lpVtbl -> LineArray(This,lNoOfLines,psPoints,dwFlag)

#define IDWFixedPointDraw_Rectangle(This,sLeft,sTop,sRight,sBottom,dwFlag)	\
    (This)->lpVtbl -> Rectangle(This,sLeft,sTop,sRight,sBottom,dwFlag)

#define IDWFixedPointDraw_SetPixel(This,sX,sY,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> SetPixel(This,sX,sY,byColorIndex,dwFlag)

#define IDWFixedPointDraw_SetPixelArray(This,lNo,ps,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> SetPixelArray(This,lNo,ps,byColorIndex,dwFlag)

#define IDWFixedPointDraw_TextOut(This,sX,sY,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)	\
    (This)->lpVtbl -> TextOut(This,sX,sY,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)

#define IDWFixedPointDraw_Point(This,sX,sY,byColorIndex,sSize,sType,dwFlag)	\
    (This)->lpVtbl -> Point(This,sX,sY,byColorIndex,sSize,sType,dwFlag)

#define IDWFixedPointDraw_Polygon(This,lNoOfPoints,ps,dwFlag)	\
    (This)->lpVtbl -> Polygon(This,lNoOfPoints,ps,dwFlag)

#define IDWFixedPointDraw_Matrix(This,sOrgX,sOrgY,sWidth,sHeight,sNoX,sNoY,pusBrush,dwFlag)	\
    (This)->lpVtbl -> Matrix(This,sOrgX,sOrgY,sWidth,sHeight,sNoX,sNoY,pusBrush,dwFlag)

#define IDWFixedPointDraw_Ellipse(This,lRadiusHorz,lRadiusVert,lX,lY,dwFlag)	\
    (This)->lpVtbl -> Ellipse(This,lRadiusHorz,lRadiusVert,lX,lY,dwFlag)

#define IDWFixedPointDraw_EllipseArray(This,lNoOfEllipses,lRadiusHorz,lRadiusVert,psPoints,dwFlag)	\
    (This)->lpVtbl -> EllipseArray(This,lNoOfEllipses,lRadiusHorz,lRadiusVert,psPoints,dwFlag)

#define IDWFixedPointDraw_Arc(This,sArcType,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,lCenterX,lCenterY,dwFlag)	\
    (This)->lpVtbl -> Arc(This,sArcType,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,lCenterX,lCenterY,dwFlag)

#define IDWFixedPointDraw_ArcArray(This,sArcType,lNoOfArcs,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,psCenter,dwFlag)	\
    (This)->lpVtbl -> ArcArray(This,sArcType,lNoOfArcs,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,psCenter,dwFlag)

#define IDWFixedPointDraw_Clear(This,dwFlag)	\
    (This)->lpVtbl -> Clear(This,dwFlag)

#define IDWFixedPointDraw_Compact(This,dwFlag)	\
    (This)->lpVtbl -> Compact(This,dwFlag)

#define IDWFixedPointDraw_SetICOSClearMode(This,bClear)	\
    (This)->lpVtbl -> SetICOSClearMode(This,bClear)

#define IDWFixedPointDraw_GetGraphicBuffer(This,ppBuffer,pNoOfBytes,dwFlag)	\
    (This)->lpVtbl -> GetGraphicBuffer(This,ppBuffer,pNoOfBytes,dwFlag)

#define IDWFixedPointDraw_SetGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)	\
    (This)->lpVtbl -> SetGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)

#define IDWFixedPointDraw_AppendGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)	\
    (This)->lpVtbl -> AppendGraphicBuffer(This,pBuffer,dwNoOfBytes,dwFlag)

#define IDWFixedPointDraw_SetFontHeight(This,byHeight,dwFlag)	\
    (This)->lpVtbl -> SetFontHeight(This,byHeight,dwFlag)


#define IDWFixedPointDraw_FixedPointMoveTo(This,lX,lY,dwFlag)	\
    (This)->lpVtbl -> FixedPointMoveTo(This,lX,lY,dwFlag)

#define IDWFixedPointDraw_FixedPointLineTo(This,lX,lY,dwFlag)	\
    (This)->lpVtbl -> FixedPointLineTo(This,lX,lY,dwFlag)

#define IDWFixedPointDraw_FixedPointLineToArray(This,lNoOfLines,plPoints,dwFlag)	\
    (This)->lpVtbl -> FixedPointLineToArray(This,lNoOfLines,plPoints,dwFlag)

#define IDWFixedPointDraw_FixedPointLine(This,lX1,lY1,lX2,lY2,dwFlag)	\
    (This)->lpVtbl -> FixedPointLine(This,lX1,lY1,lX2,lY2,dwFlag)

#define IDWFixedPointDraw_FixedPointLineArray(This,lNoOfLines,plPoints,dwFlag)	\
    (This)->lpVtbl -> FixedPointLineArray(This,lNoOfLines,plPoints,dwFlag)

#define IDWFixedPointDraw_FixedPointRectangle(This,lLeft,lTop,lRight,lBottom,dwFlag)	\
    (This)->lpVtbl -> FixedPointRectangle(This,lLeft,lTop,lRight,lBottom,dwFlag)

#define IDWFixedPointDraw_FixedPointSetPixel(This,lX,lY,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> FixedPointSetPixel(This,lX,lY,byColorIndex,dwFlag)

#define IDWFixedPointDraw_FixedPointSetPixelArray(This,lNo,pl,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> FixedPointSetPixelArray(This,lNo,pl,byColorIndex,dwFlag)

#define IDWFixedPointDraw_FixedPointTextOut(This,lX,lY,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)	\
    (This)->lpVtbl -> FixedPointTextOut(This,lX,lY,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)

#define IDWFixedPointDraw_FixedPointPoint(This,lX,lY,byColorIndex,sSize,sType,dwFlag)	\
    (This)->lpVtbl -> FixedPointPoint(This,lX,lY,byColorIndex,sSize,sType,dwFlag)

#define IDWFixedPointDraw_FixedPointPolygon(This,lNoOfPoints,pl,dwFlag)	\
    (This)->lpVtbl -> FixedPointPolygon(This,lNoOfPoints,pl,dwFlag)

#define IDWFixedPointDraw_FixedPointMatrix(This,lOrgX,lOrgY,lWidth,lHeight,sNoX,sNoY,pusBrush,dwFlag)	\
    (This)->lpVtbl -> FixedPointMatrix(This,lOrgX,lOrgY,lWidth,lHeight,sNoX,sNoY,pusBrush,dwFlag)

#define IDWFixedPointDraw_FixedPointEllipse(This,lRadiusHorz,lRadiusVert,lX,lY,dwFlag)	\
    (This)->lpVtbl -> FixedPointEllipse(This,lRadiusHorz,lRadiusVert,lX,lY,dwFlag)

#define IDWFixedPointDraw_FixedPointEllipseArray(This,lNoOfEllipses,lRadiusHorz,lRadiusVert,plPoints,dwFlag)	\
    (This)->lpVtbl -> FixedPointEllipseArray(This,lNoOfEllipses,lRadiusHorz,lRadiusVert,plPoints,dwFlag)

#define IDWFixedPointDraw_FixedPointArc(This,sArcType,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,lCenterX,lCenterY,dwFlag)	\
    (This)->lpVtbl -> FixedPointArc(This,sArcType,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,lCenterX,lCenterY,dwFlag)

#define IDWFixedPointDraw_FixedPointArcArray(This,sArcType,lNoOfArcs,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,plCenter,dwFlag)	\
    (This)->lpVtbl -> FixedPointArcArray(This,sArcType,lNoOfArcs,lRadiusHorz,lRadiusVert,lAngleStart,lAngleEnd,plCenter,dwFlag)

#define IDWFixedPointDraw_FixedPointBitmap(This,lNoOfPoints,plPoints,byTextColorIndex,dwFlag)	\
    (This)->lpVtbl -> FixedPointBitmap(This,lNoOfPoints,plPoints,byTextColorIndex,dwFlag)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointMoveTo_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointMoveTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointLineTo_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointLineTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointLineToArray_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfLines,
    /* [size_is][in] */ const long __RPC_FAR *plPoints,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointLineToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointLine_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lX1,
    /* [in] */ const long lY1,
    /* [in] */ const long lX2,
    /* [in] */ const long lY2,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointLineArray_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfLines,
    /* [size_is][in] */ const long __RPC_FAR *plPoints,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointLineArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointRectangle_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ long lLeft,
    /* [in] */ long lTop,
    /* [in] */ long lRight,
    /* [in] */ long lBottom,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointSetPixel_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointSetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointSetPixelArray_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lNo,
    /* [size_is][in] */ const long __RPC_FAR *pl,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointSetPixelArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointTextOut_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const OLECHAR __RPC_FAR *olestrText,
    /* [in] */ const BYTE byTextColorIndex,
    /* [in] */ const BYTE byBackgroundColorIndex,
    /* [in] */ const DWORD dwTextFlags,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointTextOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointPoint_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const unsigned short sSize,
    /* [in] */ const unsigned short sType,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointPolygon_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfPoints,
    /* [size_is][in] */ const long __RPC_FAR *pl,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointPolygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointMatrix_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lOrgX,
    /* [in] */ const long lOrgY,
    /* [in] */ const long lWidth,
    /* [in] */ const long lHeight,
    /* [in] */ const short sNoX,
    /* [in] */ const short sNoY,
    /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointEllipse_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [in] */ const long lX,
    /* [in] */ const long lY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointEllipse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointEllipseArray_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfEllipses,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [size_is][in] */ const long __RPC_FAR *plPoints,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointEllipseArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointArc_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const unsigned short sArcType,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [in] */ const long lAngleStart,
    /* [in] */ const long lAngleEnd,
    /* [in] */ const long lCenterX,
    /* [in] */ const long lCenterY,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointArc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointArcArray_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const unsigned short sArcType,
    /* [in] */ const long lNoOfArcs,
    /* [in] */ const long lRadiusHorz,
    /* [in] */ const long lRadiusVert,
    /* [in] */ const long lAngleStart,
    /* [in] */ const long lAngleEnd,
    /* [size_is][in] */ const long __RPC_FAR *plCenter,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointArcArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWFixedPointDraw_FixedPointBitmap_Proxy( 
    IDWFixedPointDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfPoints,
    /* [size_is][in] */ const long __RPC_FAR *plPoints,
    /* [in] */ const BYTE byTextColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWFixedPointDraw_FixedPointBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWFixedPointDraw_INTERFACE_DEFINED__ */


#ifndef __IDWMmiDraw_INTERFACE_DEFINED__
#define __IDWMmiDraw_INTERFACE_DEFINED__

/* interface IDWMmiDraw */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWMmiDraw;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf3-f51b-11d3-82f3-00105a67f94e")
    IDWMmiDraw : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiMoveTo( 
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiLineTo( 
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiLineToArray( 
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiLine( 
            /* [in] */ const RECT __RPC_FAR *prcLine,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiLineArray( 
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiRectangle( 
            /* [in] */ const RECT __RPC_FAR *prcRectangle,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiSetPixel( 
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiSetPixelArray( 
            /* [in] */ const long lNo,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiTextOut( 
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiMatrix( 
            /* [in] */ const POINT __RPC_FAR *pptOrg,
            /* [in] */ const SIZE __RPC_FAR *psizeElement,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiEllipse( 
            /* [in] */ const SIZE __RPC_FAR *psizeEllipse,
            /* [in] */ const POINT __RPC_FAR *ptCenter,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiEllipseArray( 
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const SIZE __RPC_FAR *psizeEllipse,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiArc( 
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const SIZE __RPC_FAR *psizeArc,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const POINT __RPC_FAR *pptCenter,
            /* [in] */ const DWORD dwFlag) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MmiArcArray( 
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const SIZE __RPC_FAR *psizeArc,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const POINT __RPC_FAR *pptCenter,
            /* [in] */ const DWORD dwFlag) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWMmiDrawVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWMmiDraw __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWMmiDraw __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiMoveTo )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiLineTo )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiLineToArray )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiLine )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const RECT __RPC_FAR *prcLine,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiLineArray )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfLines,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiRectangle )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const RECT __RPC_FAR *prcRectangle,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiSetPixel )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiSetPixelArray )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const long lNo,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const BYTE byColorIndex,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiTextOut )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const OLECHAR __RPC_FAR *olestrText,
            /* [in] */ const BYTE byTextColorIndex,
            /* [in] */ const BYTE byBackgroundColorIndex,
            /* [in] */ const DWORD dwTextFlags,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiMatrix )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const POINT __RPC_FAR *pptOrg,
            /* [in] */ const SIZE __RPC_FAR *psizeElement,
            /* [in] */ const short sNoX,
            /* [in] */ const short sNoY,
            /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiEllipse )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const SIZE __RPC_FAR *psizeEllipse,
            /* [in] */ const POINT __RPC_FAR *ptCenter,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiEllipseArray )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const long lNoOfEllipses,
            /* [in] */ const SIZE __RPC_FAR *psizeEllipse,
            /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiArc )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const SIZE __RPC_FAR *psizeArc,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [in] */ const POINT __RPC_FAR *pptCenter,
            /* [in] */ const DWORD dwFlag);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MmiArcArray )( 
            IDWMmiDraw __RPC_FAR * This,
            /* [in] */ const unsigned short sArcType,
            /* [in] */ const long lNoOfArcs,
            /* [in] */ const SIZE __RPC_FAR *psizeArc,
            /* [in] */ const long lAngleStart,
            /* [in] */ const long lAngleEnd,
            /* [size_is][in] */ const POINT __RPC_FAR *pptCenter,
            /* [in] */ const DWORD dwFlag);
        
        END_INTERFACE
    } IDWMmiDrawVtbl;

    interface IDWMmiDraw
    {
        CONST_VTBL struct IDWMmiDrawVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWMmiDraw_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWMmiDraw_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWMmiDraw_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWMmiDraw_MmiMoveTo(This,pPoint,dwFlag)	\
    (This)->lpVtbl -> MmiMoveTo(This,pPoint,dwFlag)

#define IDWMmiDraw_MmiLineTo(This,pPoint,dwFlag)	\
    (This)->lpVtbl -> MmiLineTo(This,pPoint,dwFlag)

#define IDWMmiDraw_MmiLineToArray(This,lNoOfLines,pPoint,dwFlag)	\
    (This)->lpVtbl -> MmiLineToArray(This,lNoOfLines,pPoint,dwFlag)

#define IDWMmiDraw_MmiLine(This,prcLine,dwFlag)	\
    (This)->lpVtbl -> MmiLine(This,prcLine,dwFlag)

#define IDWMmiDraw_MmiLineArray(This,lNoOfLines,pPoint,dwFlag)	\
    (This)->lpVtbl -> MmiLineArray(This,lNoOfLines,pPoint,dwFlag)

#define IDWMmiDraw_MmiRectangle(This,prcRectangle,dwFlag)	\
    (This)->lpVtbl -> MmiRectangle(This,prcRectangle,dwFlag)

#define IDWMmiDraw_MmiSetPixel(This,pPoint,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> MmiSetPixel(This,pPoint,byColorIndex,dwFlag)

#define IDWMmiDraw_MmiSetPixelArray(This,lNo,pPoint,byColorIndex,dwFlag)	\
    (This)->lpVtbl -> MmiSetPixelArray(This,lNo,pPoint,byColorIndex,dwFlag)

#define IDWMmiDraw_MmiTextOut(This,pPoint,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)	\
    (This)->lpVtbl -> MmiTextOut(This,pPoint,olestrText,byTextColorIndex,byBackgroundColorIndex,dwTextFlags,dwFlag)

#define IDWMmiDraw_MmiMatrix(This,pptOrg,psizeElement,sNoX,sNoY,pusBrush,dwFlag)	\
    (This)->lpVtbl -> MmiMatrix(This,pptOrg,psizeElement,sNoX,sNoY,pusBrush,dwFlag)

#define IDWMmiDraw_MmiEllipse(This,psizeEllipse,ptCenter,dwFlag)	\
    (This)->lpVtbl -> MmiEllipse(This,psizeEllipse,ptCenter,dwFlag)

#define IDWMmiDraw_MmiEllipseArray(This,lNoOfEllipses,psizeEllipse,pPoint,dwFlag)	\
    (This)->lpVtbl -> MmiEllipseArray(This,lNoOfEllipses,psizeEllipse,pPoint,dwFlag)

#define IDWMmiDraw_MmiArc(This,sArcType,psizeArc,lAngleStart,lAngleEnd,pptCenter,dwFlag)	\
    (This)->lpVtbl -> MmiArc(This,sArcType,psizeArc,lAngleStart,lAngleEnd,pptCenter,dwFlag)

#define IDWMmiDraw_MmiArcArray(This,sArcType,lNoOfArcs,psizeArc,lAngleStart,lAngleEnd,pptCenter,dwFlag)	\
    (This)->lpVtbl -> MmiArcArray(This,sArcType,lNoOfArcs,psizeArc,lAngleStart,lAngleEnd,pptCenter,dwFlag)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiMoveTo_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiMoveTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiLineTo_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiLineTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiLineToArray_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfLines,
    /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiLineToArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiLine_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const RECT __RPC_FAR *prcLine,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiLineArray_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfLines,
    /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiLineArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiRectangle_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const RECT __RPC_FAR *prcRectangle,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiSetPixel_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiSetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiSetPixelArray_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const long lNo,
    /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const BYTE byColorIndex,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiSetPixelArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiTextOut_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const OLECHAR __RPC_FAR *olestrText,
    /* [in] */ const BYTE byTextColorIndex,
    /* [in] */ const BYTE byBackgroundColorIndex,
    /* [in] */ const DWORD dwTextFlags,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiTextOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiMatrix_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const POINT __RPC_FAR *pptOrg,
    /* [in] */ const SIZE __RPC_FAR *psizeElement,
    /* [in] */ const short sNoX,
    /* [in] */ const short sNoY,
    /* [size_is][in] */ const unsigned short __RPC_FAR *pusBrush,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiEllipse_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const SIZE __RPC_FAR *psizeEllipse,
    /* [in] */ const POINT __RPC_FAR *ptCenter,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiEllipse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiEllipseArray_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const long lNoOfEllipses,
    /* [in] */ const SIZE __RPC_FAR *psizeEllipse,
    /* [size_is][in] */ const POINT __RPC_FAR *pPoint,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiEllipseArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiArc_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const unsigned short sArcType,
    /* [in] */ const SIZE __RPC_FAR *psizeArc,
    /* [in] */ const long lAngleStart,
    /* [in] */ const long lAngleEnd,
    /* [in] */ const POINT __RPC_FAR *pptCenter,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiArc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWMmiDraw_MmiArcArray_Proxy( 
    IDWMmiDraw __RPC_FAR * This,
    /* [in] */ const unsigned short sArcType,
    /* [in] */ const long lNoOfArcs,
    /* [in] */ const SIZE __RPC_FAR *psizeArc,
    /* [in] */ const long lAngleStart,
    /* [in] */ const long lAngleEnd,
    /* [size_is][in] */ const POINT __RPC_FAR *pptCenter,
    /* [in] */ const DWORD dwFlag);


void __RPC_STUB IDWMmiDraw_MmiArcArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWMmiDraw_INTERFACE_DEFINED__ */


#ifndef __IDWTool_INTERFACE_DEFINED__
#define __IDWTool_INTERFACE_DEFINED__

/* interface IDWTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4c02-f51b-11d3-82f3-00105a67f94e")
    IDWTool : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterTool( 
            /* [in] */ IQTDisplay __RPC_FAR *pITool) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterTool( 
            /* [in] */ IQTDisplay __RPC_FAR *pITool) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWTool __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWTool __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWTool __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterTool )( 
            IDWTool __RPC_FAR * This,
            /* [in] */ IQTDisplay __RPC_FAR *pITool);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterTool )( 
            IDWTool __RPC_FAR * This,
            /* [in] */ IQTDisplay __RPC_FAR *pITool);
        
        END_INTERFACE
    } IDWToolVtbl;

    interface IDWTool
    {
        CONST_VTBL struct IDWToolVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWTool_RegisterTool(This,pITool)	\
    (This)->lpVtbl -> RegisterTool(This,pITool)

#define IDWTool_UnregisterTool(This,pITool)	\
    (This)->lpVtbl -> UnregisterTool(This,pITool)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWTool_RegisterTool_Proxy( 
    IDWTool __RPC_FAR * This,
    /* [in] */ IQTDisplay __RPC_FAR *pITool);


void __RPC_STUB IDWTool_RegisterTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWTool_UnregisterTool_Proxy( 
    IDWTool __RPC_FAR * This,
    /* [in] */ IQTDisplay __RPC_FAR *pITool);


void __RPC_STUB IDWTool_UnregisterTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWTool_INTERFACE_DEFINED__ */


#ifndef __IDWObject_INTERFACE_DEFINED__
#define __IDWObject_INTERFACE_DEFINED__

/* interface IDWObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bfe-f51b-11d3-82f3-00105a67f94e")
    IDWObject : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFrameColor( 
            /* [in] */ const BYTE byColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDescription( 
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUserDelete( 
            /* [in] */ const BOOL bDelete) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBoundaryRectangle( 
            /* [in] */ const LPRECT lprcBoundary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUserData( 
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUserData( 
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( 
            /* [in] */ const BOOL bLock) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWObject __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWObject __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWObject __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWObject __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWObject __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWObject __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWObject __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWObject __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWObject __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWObject __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        END_INTERFACE
    } IDWObjectVtbl;

    interface IDWObject
    {
        CONST_VTBL struct IDWObjectVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWObject_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWObject_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWObject_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWObject_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWObject_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWObject_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWObject_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_SetFrameColor_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [in] */ const BYTE byColor);


void __RPC_STUB IDWObject_SetFrameColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_SetDescription_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);


void __RPC_STUB IDWObject_SetDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_SetUserDelete_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [in] */ const BOOL bDelete);


void __RPC_STUB IDWObject_SetUserDelete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_SetBoundaryRectangle_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [in] */ const LPRECT lprcBoundary);


void __RPC_STUB IDWObject_SetBoundaryRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_SetUserData_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [in] */ const long lNoOfBytes,
    /* [size_is][in] */ const BYTE __RPC_FAR *pData);


void __RPC_STUB IDWObject_SetUserData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_GetUserData_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [out][in] */ long __RPC_FAR *lNoOfBytes,
    /* [size_is][out] */ BYTE __RPC_FAR *pData);


void __RPC_STUB IDWObject_GetUserData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWObject_LockObject_Proxy( 
    IDWObject __RPC_FAR * This,
    /* [in] */ const BOOL bLock);


void __RPC_STUB IDWObject_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWObject_INTERFACE_DEFINED__ */


#ifndef __IDWRegion_INTERFACE_DEFINED__
#define __IDWRegion_INTERFACE_DEFINED__

/* interface IDWRegion */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWRegion;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CFE7277E-88C0-11D5-99EE-000102E0DA04")
    IDWRegion : public IDWObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [size_is][in] */ const POINT __RPC_FAR *ptRegion,
            /* [in] */ const long lNoOfPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [size_is][out] */ POINT __RPC_FAR *pptRegion,
            /* [out][in] */ long __RPC_FAR *lNoOfPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMaxNoOfPoints( 
            /* [in] */ const long lMaxNoOfPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaxNoOfPoints( 
            /* [out] */ long __RPC_FAR *plMaxNoOfPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMinNoOfPoints( 
            /* [in] */ const long lMinNoOfPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMinNoOfPoints( 
            /* [out] */ long __RPC_FAR *plMinNoOfPoints) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableMovePoints( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnablePointsRemoval( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnablePointsAdd( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableTranslation( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deselect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWRegionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWRegion __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWRegion __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWRegion __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWRegion __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWRegion __RPC_FAR * This,
            /* [size_is][in] */ const POINT __RPC_FAR *ptRegion,
            /* [in] */ const long lNoOfPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWRegion __RPC_FAR * This,
            /* [size_is][out] */ POINT __RPC_FAR *pptRegion,
            /* [out][in] */ long __RPC_FAR *lNoOfPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaxNoOfPoints )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const long lMaxNoOfPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxNoOfPoints )( 
            IDWRegion __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plMaxNoOfPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMinNoOfPoints )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const long lMinNoOfPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMinNoOfPoints )( 
            IDWRegion __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plMinNoOfPoints);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableMovePoints )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnablePointsRemoval )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnablePointsAdd )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableTranslation )( 
            IDWRegion __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IDWRegion __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deselect )( 
            IDWRegion __RPC_FAR * This);
        
        END_INTERFACE
    } IDWRegionVtbl;

    interface IDWRegion
    {
        CONST_VTBL struct IDWRegionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWRegion_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWRegion_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWRegion_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWRegion_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWRegion_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWRegion_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWRegion_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWRegion_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWRegion_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWRegion_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)


#define IDWRegion_SetPosition(This,ptRegion,lNoOfPoints)	\
    (This)->lpVtbl -> SetPosition(This,ptRegion,lNoOfPoints)

#define IDWRegion_GetPosition(This,pptRegion,lNoOfPoints)	\
    (This)->lpVtbl -> GetPosition(This,pptRegion,lNoOfPoints)

#define IDWRegion_SetMaxNoOfPoints(This,lMaxNoOfPoints)	\
    (This)->lpVtbl -> SetMaxNoOfPoints(This,lMaxNoOfPoints)

#define IDWRegion_GetMaxNoOfPoints(This,plMaxNoOfPoints)	\
    (This)->lpVtbl -> GetMaxNoOfPoints(This,plMaxNoOfPoints)

#define IDWRegion_SetMinNoOfPoints(This,lMinNoOfPoints)	\
    (This)->lpVtbl -> SetMinNoOfPoints(This,lMinNoOfPoints)

#define IDWRegion_GetMinNoOfPoints(This,plMinNoOfPoints)	\
    (This)->lpVtbl -> GetMinNoOfPoints(This,plMinNoOfPoints)

#define IDWRegion_EnableMovePoints(This,bEnable)	\
    (This)->lpVtbl -> EnableMovePoints(This,bEnable)

#define IDWRegion_EnablePointsRemoval(This,bEnable)	\
    (This)->lpVtbl -> EnablePointsRemoval(This,bEnable)

#define IDWRegion_EnablePointsAdd(This,bEnable)	\
    (This)->lpVtbl -> EnablePointsAdd(This,bEnable)

#define IDWRegion_EnableTranslation(This,bEnable)	\
    (This)->lpVtbl -> EnableTranslation(This,bEnable)

#define IDWRegion_Select(This)	\
    (This)->lpVtbl -> Select(This)

#define IDWRegion_Deselect(This)	\
    (This)->lpVtbl -> Deselect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_SetPosition_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [size_is][in] */ const POINT __RPC_FAR *ptRegion,
    /* [in] */ const long lNoOfPoints);


void __RPC_STUB IDWRegion_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_GetPosition_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [size_is][out] */ POINT __RPC_FAR *pptRegion,
    /* [out][in] */ long __RPC_FAR *lNoOfPoints);


void __RPC_STUB IDWRegion_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_SetMaxNoOfPoints_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [in] */ const long lMaxNoOfPoints);


void __RPC_STUB IDWRegion_SetMaxNoOfPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_GetMaxNoOfPoints_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plMaxNoOfPoints);


void __RPC_STUB IDWRegion_GetMaxNoOfPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_SetMinNoOfPoints_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [in] */ const long lMinNoOfPoints);


void __RPC_STUB IDWRegion_SetMinNoOfPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_GetMinNoOfPoints_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plMinNoOfPoints);


void __RPC_STUB IDWRegion_GetMinNoOfPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_EnableMovePoints_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWRegion_EnableMovePoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_EnablePointsRemoval_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWRegion_EnablePointsRemoval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_EnablePointsAdd_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWRegion_EnablePointsAdd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_EnableTranslation_Proxy( 
    IDWRegion __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWRegion_EnableTranslation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_Select_Proxy( 
    IDWRegion __RPC_FAR * This);


void __RPC_STUB IDWRegion_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRegion_Deselect_Proxy( 
    IDWRegion __RPC_FAR * This);


void __RPC_STUB IDWRegion_Deselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWRegion_INTERFACE_DEFINED__ */


#ifndef __IDWRectangle_INTERFACE_DEFINED__
#define __IDWRectangle_INTERFACE_DEFINED__

/* interface IDWRectangle */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWRectangle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bfc-f51b-11d3-82f3-00105a67f94e")
    IDWRectangle : public IDWObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [in] */ const POINT ptCenter,
            /* [in] */ const SIZE sizeRect,
            /* [in] */ const long lAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [out] */ POINT __RPC_FAR *pptCenter,
            /* [out] */ SIZE __RPC_FAR *psizeRect,
            /* [out] */ long __RPC_FAR *plAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableResize( 
            /* [in] */ const RECTRESIZING rrEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableRotation( 
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deselect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWRectangleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWRectangle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWRectangle __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWRectangle __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const POINT ptCenter,
            /* [in] */ const SIZE sizeRect,
            /* [in] */ const long lAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWRectangle __RPC_FAR * This,
            /* [out] */ POINT __RPC_FAR *pptCenter,
            /* [out] */ SIZE __RPC_FAR *psizeRect,
            /* [out] */ long __RPC_FAR *plAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableResize )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const RECTRESIZING rrEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableRotation )( 
            IDWRectangle __RPC_FAR * This,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IDWRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deselect )( 
            IDWRectangle __RPC_FAR * This);
        
        END_INTERFACE
    } IDWRectangleVtbl;

    interface IDWRectangle
    {
        CONST_VTBL struct IDWRectangleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWRectangle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWRectangle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWRectangle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWRectangle_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWRectangle_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWRectangle_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWRectangle_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWRectangle_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWRectangle_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWRectangle_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)


#define IDWRectangle_SetPosition(This,ptCenter,sizeRect,lAngle)	\
    (This)->lpVtbl -> SetPosition(This,ptCenter,sizeRect,lAngle)

#define IDWRectangle_GetPosition(This,pptCenter,psizeRect,plAngle)	\
    (This)->lpVtbl -> GetPosition(This,pptCenter,psizeRect,plAngle)

#define IDWRectangle_EnableResize(This,rrEnable)	\
    (This)->lpVtbl -> EnableResize(This,rrEnable)

#define IDWRectangle_EnableRotation(This,bEnable)	\
    (This)->lpVtbl -> EnableRotation(This,bEnable)

#define IDWRectangle_Select(This)	\
    (This)->lpVtbl -> Select(This)

#define IDWRectangle_Deselect(This)	\
    (This)->lpVtbl -> Deselect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRectangle_SetPosition_Proxy( 
    IDWRectangle __RPC_FAR * This,
    /* [in] */ const POINT ptCenter,
    /* [in] */ const SIZE sizeRect,
    /* [in] */ const long lAngle);


void __RPC_STUB IDWRectangle_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRectangle_GetPosition_Proxy( 
    IDWRectangle __RPC_FAR * This,
    /* [out] */ POINT __RPC_FAR *pptCenter,
    /* [out] */ SIZE __RPC_FAR *psizeRect,
    /* [out] */ long __RPC_FAR *plAngle);


void __RPC_STUB IDWRectangle_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRectangle_EnableResize_Proxy( 
    IDWRectangle __RPC_FAR * This,
    /* [in] */ const RECTRESIZING rrEnable);


void __RPC_STUB IDWRectangle_EnableResize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRectangle_EnableRotation_Proxy( 
    IDWRectangle __RPC_FAR * This,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWRectangle_EnableRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRectangle_Select_Proxy( 
    IDWRectangle __RPC_FAR * This);


void __RPC_STUB IDWRectangle_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWRectangle_Deselect_Proxy( 
    IDWRectangle __RPC_FAR * This);


void __RPC_STUB IDWRectangle_Deselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWRectangle_INTERFACE_DEFINED__ */


#ifndef __IDWCircle_INTERFACE_DEFINED__
#define __IDWCircle_INTERFACE_DEFINED__

/* interface IDWCircle */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWCircle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bfd-f51b-11d3-82f3-00105a67f94e")
    IDWCircle : public IDWObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [in] */ const POINT ptCenter,
            /* [in] */ const long lRadius) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [out] */ POINT __RPC_FAR *pptCenter,
            /* [out] */ long __RPC_FAR *lRadius) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deselect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWCircleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWCircle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWCircle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWCircle __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWCircle __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWCircle __RPC_FAR * This,
            /* [in] */ const POINT ptCenter,
            /* [in] */ const long lRadius);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWCircle __RPC_FAR * This,
            /* [out] */ POINT __RPC_FAR *pptCenter,
            /* [out] */ long __RPC_FAR *lRadius);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IDWCircle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deselect )( 
            IDWCircle __RPC_FAR * This);
        
        END_INTERFACE
    } IDWCircleVtbl;

    interface IDWCircle
    {
        CONST_VTBL struct IDWCircleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWCircle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWCircle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWCircle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWCircle_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWCircle_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWCircle_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWCircle_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWCircle_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWCircle_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWCircle_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)


#define IDWCircle_SetPosition(This,ptCenter,lRadius)	\
    (This)->lpVtbl -> SetPosition(This,ptCenter,lRadius)

#define IDWCircle_GetPosition(This,pptCenter,lRadius)	\
    (This)->lpVtbl -> GetPosition(This,pptCenter,lRadius)

#define IDWCircle_Select(This)	\
    (This)->lpVtbl -> Select(This)

#define IDWCircle_Deselect(This)	\
    (This)->lpVtbl -> Deselect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWCircle_SetPosition_Proxy( 
    IDWCircle __RPC_FAR * This,
    /* [in] */ const POINT ptCenter,
    /* [in] */ const long lRadius);


void __RPC_STUB IDWCircle_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWCircle_GetPosition_Proxy( 
    IDWCircle __RPC_FAR * This,
    /* [out] */ POINT __RPC_FAR *pptCenter,
    /* [out] */ long __RPC_FAR *lRadius);


void __RPC_STUB IDWCircle_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWCircle_Select_Proxy( 
    IDWCircle __RPC_FAR * This);


void __RPC_STUB IDWCircle_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWCircle_Deselect_Proxy( 
    IDWCircle __RPC_FAR * This);


void __RPC_STUB IDWCircle_Deselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWCircle_INTERFACE_DEFINED__ */


#ifndef __IDWTriangleIsosceles_INTERFACE_DEFINED__
#define __IDWTriangleIsosceles_INTERFACE_DEFINED__

/* interface IDWTriangleIsosceles */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWTriangleIsosceles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bff-f51b-11d3-82f3-00105a67f94e")
    IDWTriangleIsosceles : public IDWObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [in] */ const POINT ptCenter,
            /* [in] */ const long lHeight,
            /* [in] */ const long lInnerAngle,
            /* [in] */ const long lRotationAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [out] */ POINT __RPC_FAR *pptCenter,
            /* [out] */ long __RPC_FAR *plHeight,
            /* [out] */ long __RPC_FAR *plInnerAngle,
            /* [out] */ long __RPC_FAR *plRotationAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deselect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWTriangleIsoscelesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWTriangleIsosceles __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWTriangleIsosceles __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [in] */ const POINT ptCenter,
            /* [in] */ const long lHeight,
            /* [in] */ const long lInnerAngle,
            /* [in] */ const long lRotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWTriangleIsosceles __RPC_FAR * This,
            /* [out] */ POINT __RPC_FAR *pptCenter,
            /* [out] */ long __RPC_FAR *plHeight,
            /* [out] */ long __RPC_FAR *plInnerAngle,
            /* [out] */ long __RPC_FAR *plRotationAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IDWTriangleIsosceles __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deselect )( 
            IDWTriangleIsosceles __RPC_FAR * This);
        
        END_INTERFACE
    } IDWTriangleIsoscelesVtbl;

    interface IDWTriangleIsosceles
    {
        CONST_VTBL struct IDWTriangleIsoscelesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWTriangleIsosceles_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWTriangleIsosceles_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWTriangleIsosceles_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWTriangleIsosceles_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWTriangleIsosceles_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWTriangleIsosceles_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWTriangleIsosceles_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWTriangleIsosceles_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWTriangleIsosceles_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWTriangleIsosceles_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)


#define IDWTriangleIsosceles_SetPosition(This,ptCenter,lHeight,lInnerAngle,lRotationAngle)	\
    (This)->lpVtbl -> SetPosition(This,ptCenter,lHeight,lInnerAngle,lRotationAngle)

#define IDWTriangleIsosceles_GetPosition(This,pptCenter,plHeight,plInnerAngle,plRotationAngle)	\
    (This)->lpVtbl -> GetPosition(This,pptCenter,plHeight,plInnerAngle,plRotationAngle)

#define IDWTriangleIsosceles_Select(This)	\
    (This)->lpVtbl -> Select(This)

#define IDWTriangleIsosceles_Deselect(This)	\
    (This)->lpVtbl -> Deselect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWTriangleIsosceles_SetPosition_Proxy( 
    IDWTriangleIsosceles __RPC_FAR * This,
    /* [in] */ const POINT ptCenter,
    /* [in] */ const long lHeight,
    /* [in] */ const long lInnerAngle,
    /* [in] */ const long lRotationAngle);


void __RPC_STUB IDWTriangleIsosceles_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWTriangleIsosceles_GetPosition_Proxy( 
    IDWTriangleIsosceles __RPC_FAR * This,
    /* [out] */ POINT __RPC_FAR *pptCenter,
    /* [out] */ long __RPC_FAR *plHeight,
    /* [out] */ long __RPC_FAR *plInnerAngle,
    /* [out] */ long __RPC_FAR *plRotationAngle);


void __RPC_STUB IDWTriangleIsosceles_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWTriangleIsosceles_Select_Proxy( 
    IDWTriangleIsosceles __RPC_FAR * This);


void __RPC_STUB IDWTriangleIsosceles_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWTriangleIsosceles_Deselect_Proxy( 
    IDWTriangleIsosceles __RPC_FAR * This);


void __RPC_STUB IDWTriangleIsosceles_Deselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWTriangleIsosceles_INTERFACE_DEFINED__ */


#ifndef __IDWPoint_INTERFACE_DEFINED__
#define __IDWPoint_INTERFACE_DEFINED__

/* interface IDWPoint */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4c00-f51b-11d3-82f3-00105a67f94e")
    IDWPoint : public IDWObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [in] */ const POINT ptCenter) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [out] */ POINT __RPC_FAR *pptCenter) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deselect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWPoint __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWPoint __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWPoint __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWPoint __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWPoint __RPC_FAR * This,
            /* [in] */ const POINT ptCenter);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWPoint __RPC_FAR * This,
            /* [out] */ POINT __RPC_FAR *pptCenter);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IDWPoint __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deselect )( 
            IDWPoint __RPC_FAR * This);
        
        END_INTERFACE
    } IDWPointVtbl;

    interface IDWPoint
    {
        CONST_VTBL struct IDWPointVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWPoint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWPoint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWPoint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWPoint_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWPoint_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWPoint_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWPoint_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWPoint_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWPoint_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWPoint_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)


#define IDWPoint_SetPosition(This,ptCenter)	\
    (This)->lpVtbl -> SetPosition(This,ptCenter)

#define IDWPoint_GetPosition(This,pptCenter)	\
    (This)->lpVtbl -> GetPosition(This,pptCenter)

#define IDWPoint_Select(This)	\
    (This)->lpVtbl -> Select(This)

#define IDWPoint_Deselect(This)	\
    (This)->lpVtbl -> Deselect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWPoint_SetPosition_Proxy( 
    IDWPoint __RPC_FAR * This,
    /* [in] */ const POINT ptCenter);


void __RPC_STUB IDWPoint_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWPoint_GetPosition_Proxy( 
    IDWPoint __RPC_FAR * This,
    /* [out] */ POINT __RPC_FAR *pptCenter);


void __RPC_STUB IDWPoint_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWPoint_Select_Proxy( 
    IDWPoint __RPC_FAR * This);


void __RPC_STUB IDWPoint_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWPoint_Deselect_Proxy( 
    IDWPoint __RPC_FAR * This);


void __RPC_STUB IDWPoint_Deselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWPoint_INTERFACE_DEFINED__ */


#ifndef __IDWLine_INTERFACE_DEFINED__
#define __IDWLine_INTERFACE_DEFINED__

/* interface IDWLine */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWLine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4c03-f51b-11d3-82f3-00105a67f94e")
    IDWLine : public IDWObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [in] */ const POINT pt1,
            /* [in] */ const POINT pt2) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [out] */ POINT __RPC_FAR *ppt1,
            /* [out] */ POINT __RPC_FAR *ppt2) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Deselect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWLine __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWLine __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFrameColor )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
            IDWLine __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserDelete )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ const BOOL bDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserData )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ const long lNoOfBytes,
            /* [size_is][in] */ const BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserData )( 
            IDWLine __RPC_FAR * This,
            /* [out][in] */ long __RPC_FAR *lNoOfBytes,
            /* [size_is][out] */ BYTE __RPC_FAR *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ const BOOL bLock);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWLine __RPC_FAR * This,
            /* [in] */ const POINT pt1,
            /* [in] */ const POINT pt2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWLine __RPC_FAR * This,
            /* [out] */ POINT __RPC_FAR *ppt1,
            /* [out] */ POINT __RPC_FAR *ppt2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IDWLine __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Deselect )( 
            IDWLine __RPC_FAR * This);
        
        END_INTERFACE
    } IDWLineVtbl;

    interface IDWLine
    {
        CONST_VTBL struct IDWLineVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWLine_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWLine_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWLine_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWLine_SetFrameColor(This,byColor)	\
    (This)->lpVtbl -> SetFrameColor(This,byColor)

#define IDWLine_SetDescription(This,olestrDescription)	\
    (This)->lpVtbl -> SetDescription(This,olestrDescription)

#define IDWLine_SetUserDelete(This,bDelete)	\
    (This)->lpVtbl -> SetUserDelete(This,bDelete)

#define IDWLine_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#define IDWLine_SetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> SetUserData(This,lNoOfBytes,pData)

#define IDWLine_GetUserData(This,lNoOfBytes,pData)	\
    (This)->lpVtbl -> GetUserData(This,lNoOfBytes,pData)

#define IDWLine_LockObject(This,bLock)	\
    (This)->lpVtbl -> LockObject(This,bLock)


#define IDWLine_SetPosition(This,pt1,pt2)	\
    (This)->lpVtbl -> SetPosition(This,pt1,pt2)

#define IDWLine_GetPosition(This,ppt1,ppt2)	\
    (This)->lpVtbl -> GetPosition(This,ppt1,ppt2)

#define IDWLine_Select(This)	\
    (This)->lpVtbl -> Select(This)

#define IDWLine_Deselect(This)	\
    (This)->lpVtbl -> Deselect(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWLine_SetPosition_Proxy( 
    IDWLine __RPC_FAR * This,
    /* [in] */ const POINT pt1,
    /* [in] */ const POINT pt2);


void __RPC_STUB IDWLine_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWLine_GetPosition_Proxy( 
    IDWLine __RPC_FAR * This,
    /* [out] */ POINT __RPC_FAR *ppt1,
    /* [out] */ POINT __RPC_FAR *ppt2);


void __RPC_STUB IDWLine_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWLine_Select_Proxy( 
    IDWLine __RPC_FAR * This);


void __RPC_STUB IDWLine_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWLine_Deselect_Proxy( 
    IDWLine __RPC_FAR * This);


void __RPC_STUB IDWLine_Deselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWLine_INTERFACE_DEFINED__ */


#ifndef __IDWDialBase_INTERFACE_DEFINED__
#define __IDWDialBase_INTERFACE_DEFINED__

/* interface IDWDialBase */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDialBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bee-f51b-11d3-82f3-00105a67f94e")
    IDWDialBase : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoModal( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoModeless( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowGraphics( 
            /* [in] */ const BOOL bShow) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStatus( 
            /* [out] */ BOOL __RPC_FAR *pbActive) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCallback( 
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDialBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDialBase __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDialBase __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDialBase __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDialBase __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDialBase __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDialBase __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDialBase __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDialBase __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDialBase __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        END_INTERFACE
    } IDWDialBaseVtbl;

    interface IDWDialBase
    {
        CONST_VTBL struct IDWDialBaseVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDialBase_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDialBase_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDialBase_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDialBase_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDialBase_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDialBase_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDialBase_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDialBase_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDialBase_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialBase_DoModal_Proxy( 
    IDWDialBase __RPC_FAR * This);


void __RPC_STUB IDWDialBase_DoModal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialBase_DoModeless_Proxy( 
    IDWDialBase __RPC_FAR * This);


void __RPC_STUB IDWDialBase_DoModeless_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialBase_Stop_Proxy( 
    IDWDialBase __RPC_FAR * This);


void __RPC_STUB IDWDialBase_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialBase_ShowGraphics_Proxy( 
    IDWDialBase __RPC_FAR * This,
    /* [in] */ const BOOL bShow);


void __RPC_STUB IDWDialBase_ShowGraphics_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialBase_GetStatus_Proxy( 
    IDWDialBase __RPC_FAR * This,
    /* [out] */ BOOL __RPC_FAR *pbActive);


void __RPC_STUB IDWDialBase_GetStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialBase_SetCallback_Proxy( 
    IDWDialBase __RPC_FAR * This,
    /* [in] */ const DWORD dwUserData,
    /* [in] */ const long lAddress);


void __RPC_STUB IDWDialBase_SetCallback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDialBase_INTERFACE_DEFINED__ */


#ifndef __IDWDialThreshold_INTERFACE_DEFINED__
#define __IDWDialThreshold_INTERFACE_DEFINED__

/* interface IDWDialThreshold */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDialThreshold;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bef-f51b-11d3-82f3-00105a67f94e")
    IDWDialThreshold : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNoOfWindows( 
            /* [in] */ const long lNoOfWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNoOfWindows( 
            /* [out] */ long __RPC_FAR *plNoOfWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNoOfThresholds( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const long lNoOfThresholds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNoOfThresholds( 
            /* [in] */ const long lWindowNo,
            /* [out][in] */ long __RPC_FAR *plNoOfThresholds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetThresholds( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const BYTE __RPC_FAR *pbyThresholds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetThresholds( 
            /* [in] */ const long lWindowNo,
            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbyThreshold) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowPosition( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const LPRECT prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPalette( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const unsigned short __RPC_FAR *pusColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowDescription( 
            /* [in] */ const long lWindowNo,
            /* [string][in] */ const OLECHAR __RPC_FAR *strText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowColor( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const BYTE byColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ActivateWindow( 
            /* [in] */ const long lWindowNo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDialThresholdVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDialThreshold __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDialThreshold __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDialThreshold __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDialThreshold __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDialThreshold __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNoOfWindows )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lNoOfWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNoOfWindows )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plNoOfWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNoOfThresholds )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const long lNoOfThresholds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNoOfThresholds )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [out][in] */ long __RPC_FAR *plNoOfThresholds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetThresholds )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const BYTE __RPC_FAR *pbyThresholds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetThresholds )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbyThreshold);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowPosition )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const LPRECT prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPalette )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const unsigned short __RPC_FAR *pusColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowDescription )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [string][in] */ const OLECHAR __RPC_FAR *strText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowColor )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ActivateWindow )( 
            IDWDialThreshold __RPC_FAR * This,
            /* [in] */ const long lWindowNo);
        
        END_INTERFACE
    } IDWDialThresholdVtbl;

    interface IDWDialThreshold
    {
        CONST_VTBL struct IDWDialThresholdVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDialThreshold_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDialThreshold_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDialThreshold_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDialThreshold_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDialThreshold_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDialThreshold_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDialThreshold_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDialThreshold_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDialThreshold_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDialThreshold_SetNoOfWindows(This,lNoOfWindows)	\
    (This)->lpVtbl -> SetNoOfWindows(This,lNoOfWindows)

#define IDWDialThreshold_GetNoOfWindows(This,plNoOfWindows)	\
    (This)->lpVtbl -> GetNoOfWindows(This,plNoOfWindows)

#define IDWDialThreshold_SetNoOfThresholds(This,lWindowNo,lNoOfThresholds)	\
    (This)->lpVtbl -> SetNoOfThresholds(This,lWindowNo,lNoOfThresholds)

#define IDWDialThreshold_GetNoOfThresholds(This,lWindowNo,plNoOfThresholds)	\
    (This)->lpVtbl -> GetNoOfThresholds(This,lWindowNo,plNoOfThresholds)

#define IDWDialThreshold_SetThresholds(This,lWindowNo,pbyThresholds)	\
    (This)->lpVtbl -> SetThresholds(This,lWindowNo,pbyThresholds)

#define IDWDialThreshold_GetThresholds(This,lWindowNo,ppbyThreshold)	\
    (This)->lpVtbl -> GetThresholds(This,lWindowNo,ppbyThreshold)

#define IDWDialThreshold_SetWindowPosition(This,lWindowNo,prcPosition)	\
    (This)->lpVtbl -> SetWindowPosition(This,lWindowNo,prcPosition)

#define IDWDialThreshold_SetPalette(This,lWindowNo,pusColor)	\
    (This)->lpVtbl -> SetPalette(This,lWindowNo,pusColor)

#define IDWDialThreshold_SetWindowDescription(This,lWindowNo,strText)	\
    (This)->lpVtbl -> SetWindowDescription(This,lWindowNo,strText)

#define IDWDialThreshold_SetWindowColor(This,lWindowNo,byColor)	\
    (This)->lpVtbl -> SetWindowColor(This,lWindowNo,byColor)

#define IDWDialThreshold_ActivateWindow(This,lWindowNo)	\
    (This)->lpVtbl -> ActivateWindow(This,lWindowNo)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetNoOfWindows_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lNoOfWindows);


void __RPC_STUB IDWDialThreshold_SetNoOfWindows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_GetNoOfWindows_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plNoOfWindows);


void __RPC_STUB IDWDialThreshold_GetNoOfWindows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetNoOfThresholds_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const long lNoOfThresholds);


void __RPC_STUB IDWDialThreshold_SetNoOfThresholds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_GetNoOfThresholds_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [out][in] */ long __RPC_FAR *plNoOfThresholds);


void __RPC_STUB IDWDialThreshold_GetNoOfThresholds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetThresholds_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const BYTE __RPC_FAR *pbyThresholds);


void __RPC_STUB IDWDialThreshold_SetThresholds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_GetThresholds_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbyThreshold);


void __RPC_STUB IDWDialThreshold_GetThresholds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetWindowPosition_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const LPRECT prcPosition);


void __RPC_STUB IDWDialThreshold_SetWindowPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetPalette_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const unsigned short __RPC_FAR *pusColor);


void __RPC_STUB IDWDialThreshold_SetPalette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetWindowDescription_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [string][in] */ const OLECHAR __RPC_FAR *strText);


void __RPC_STUB IDWDialThreshold_SetWindowDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_SetWindowColor_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const BYTE byColor);


void __RPC_STUB IDWDialThreshold_SetWindowColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialThreshold_ActivateWindow_Proxy( 
    IDWDialThreshold __RPC_FAR * This,
    /* [in] */ const long lWindowNo);


void __RPC_STUB IDWDialThreshold_ActivateWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDialThreshold_INTERFACE_DEFINED__ */


#ifndef __IDWDefectPixelsOverlay_INTERFACE_DEFINED__
#define __IDWDefectPixelsOverlay_INTERFACE_DEFINED__

/* interface IDWDefectPixelsOverlay */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDefectPixelsOverlay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2BAD5319-3CA5-47d3-B538-E809DC214212")
    IDWDefectPixelsOverlay : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefectPixelMap( 
            /* [size_is][in] */ DWORD __RPC_FAR *pdwPixelMap,
            /* [in] */ DWORD dwSizeOfBuffer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachSliderObserver( 
            /* [in] */ IDWSliderObserver __RPC_FAR *sliderObserver) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMaximumNrOfObjectsInspected( 
            /* [in] */ DWORD nrOfObjects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatusBarText( 
            /* [in] */ const OLECHAR __RPC_FAR *lpcstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RefreshDefectPixelMap( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefectPixelMapMutex( 
            /* [out] */ HANDLE __RPC_FAR *phMutex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachSliderObserver( 
            IDWSliderObserver __RPC_FAR *sliderObserver) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDefectPixelsOverlayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDefectPixelsOverlay __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDefectPixelsOverlay __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefectPixelMap )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            /* [size_is][in] */ DWORD __RPC_FAR *pdwPixelMap,
            /* [in] */ DWORD dwSizeOfBuffer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachSliderObserver )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            /* [in] */ IDWSliderObserver __RPC_FAR *sliderObserver);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaximumNrOfObjectsInspected )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            /* [in] */ DWORD nrOfObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStatusBarText )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            /* [in] */ const OLECHAR __RPC_FAR *lpcstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            IDWDefectPixelsOverlay __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDefectPixelsOverlay __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RefreshDefectPixelMap )( 
            IDWDefectPixelsOverlay __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDefectPixelMapMutex )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            /* [out] */ HANDLE __RPC_FAR *phMutex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DetachSliderObserver )( 
            IDWDefectPixelsOverlay __RPC_FAR * This,
            IDWSliderObserver __RPC_FAR *sliderObserver);
        
        END_INTERFACE
    } IDWDefectPixelsOverlayVtbl;

    interface IDWDefectPixelsOverlay
    {
        CONST_VTBL struct IDWDefectPixelsOverlayVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDefectPixelsOverlay_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDefectPixelsOverlay_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDefectPixelsOverlay_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDefectPixelsOverlay_SetDefectPixelMap(This,pdwPixelMap,dwSizeOfBuffer)	\
    (This)->lpVtbl -> SetDefectPixelMap(This,pdwPixelMap,dwSizeOfBuffer)

#define IDWDefectPixelsOverlay_AttachSliderObserver(This,sliderObserver)	\
    (This)->lpVtbl -> AttachSliderObserver(This,sliderObserver)

#define IDWDefectPixelsOverlay_SetMaximumNrOfObjectsInspected(This,nrOfObjects)	\
    (This)->lpVtbl -> SetMaximumNrOfObjectsInspected(This,nrOfObjects)

#define IDWDefectPixelsOverlay_SetStatusBarText(This,lpcstrName)	\
    (This)->lpVtbl -> SetStatusBarText(This,lpcstrName)

#define IDWDefectPixelsOverlay_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDWDefectPixelsOverlay_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDefectPixelsOverlay_RefreshDefectPixelMap(This)	\
    (This)->lpVtbl -> RefreshDefectPixelMap(This)

#define IDWDefectPixelsOverlay_GetDefectPixelMapMutex(This,phMutex)	\
    (This)->lpVtbl -> GetDefectPixelMapMutex(This,phMutex)

#define IDWDefectPixelsOverlay_DetachSliderObserver(This,sliderObserver)	\
    (This)->lpVtbl -> DetachSliderObserver(This,sliderObserver)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_SetDefectPixelMap_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This,
    /* [size_is][in] */ DWORD __RPC_FAR *pdwPixelMap,
    /* [in] */ DWORD dwSizeOfBuffer);


void __RPC_STUB IDWDefectPixelsOverlay_SetDefectPixelMap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_AttachSliderObserver_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This,
    /* [in] */ IDWSliderObserver __RPC_FAR *sliderObserver);


void __RPC_STUB IDWDefectPixelsOverlay_AttachSliderObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_SetMaximumNrOfObjectsInspected_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This,
    /* [in] */ DWORD nrOfObjects);


void __RPC_STUB IDWDefectPixelsOverlay_SetMaximumNrOfObjectsInspected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_SetStatusBarText_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This,
    /* [in] */ const OLECHAR __RPC_FAR *lpcstrName);


void __RPC_STUB IDWDefectPixelsOverlay_SetStatusBarText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_Start_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This);


void __RPC_STUB IDWDefectPixelsOverlay_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_Stop_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This);


void __RPC_STUB IDWDefectPixelsOverlay_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_RefreshDefectPixelMap_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This);


void __RPC_STUB IDWDefectPixelsOverlay_RefreshDefectPixelMap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_GetDefectPixelMapMutex_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This,
    /* [out] */ HANDLE __RPC_FAR *phMutex);


void __RPC_STUB IDWDefectPixelsOverlay_GetDefectPixelMapMutex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDefectPixelsOverlay_DetachSliderObserver_Proxy( 
    IDWDefectPixelsOverlay __RPC_FAR * This,
    IDWSliderObserver __RPC_FAR *sliderObserver);


void __RPC_STUB IDWDefectPixelsOverlay_DetachSliderObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDefectPixelsOverlay_INTERFACE_DEFINED__ */


#ifndef __IDWDialObject_INTERFACE_DEFINED__
#define __IDWDialObject_INTERFACE_DEFINED__

/* interface IDWDialObject */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDialObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bfb-f51b-11d3-82f3-00105a67f94e")
    IDWDialObject : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRectangle( 
            /* [out] */ IDWRectangle __RPC_FAR *__RPC_FAR *ppIRectangle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCircle( 
            /* [out] */ IDWCircle __RPC_FAR *__RPC_FAR *ppICircle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTriangleIsosceles( 
            /* [out] */ IDWTriangleIsosceles __RPC_FAR *__RPC_FAR *ppITriangle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPoint( 
            /* [out] */ IDWPoint __RPC_FAR *__RPC_FAR *ppIPoint) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLine( 
            /* [out] */ IDWLine __RPC_FAR *__RPC_FAR *ppILine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartEnumeration( 
            /* [out] */ long __RPC_FAR *plNoOfObjects) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetOrigin( 
            /* [in] */ const POINT ptOrigin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUnits( 
            /* [in] */ const double dX,
            /* [in] */ const double dY) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultObject( 
            /* [in] */ REFIID refiid) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultColor( 
            /* [in] */ const BYTE byColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultRotationAngle( 
            /* [in] */ const long lAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultUserDelete( 
            /* [in] */ const BOOL bUserDelete) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultInnerAngle( 
            /* [in] */ const long lAngle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRegion( 
            /* [out] */ IDWRegion __RPC_FAR *__RPC_FAR *ppIRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMode( 
            /* [in] */ const DIALMODE dmNewMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultBoundaryRectangle( 
            /* [in] */ const LPRECT lprcBoundary) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefaultCursor( 
            /* [in] */ const HCURSOR hCursor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableObjectBoundary( 
            BOOL bEnable) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDialObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDialObject __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDialObject __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDialObject __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDialObject __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDialObject __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRectangle )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ IDWRectangle __RPC_FAR *__RPC_FAR *ppIRectangle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCircle )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ IDWCircle __RPC_FAR *__RPC_FAR *ppICircle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTriangleIsosceles )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ IDWTriangleIsosceles __RPC_FAR *__RPC_FAR *ppITriangle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPoint )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ IDWPoint __RPC_FAR *__RPC_FAR *ppIPoint);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLine )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ IDWLine __RPC_FAR *__RPC_FAR *ppILine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartEnumeration )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plNoOfObjects);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOrigin )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const POINT ptOrigin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUnits )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const double dX,
            /* [in] */ const double dY);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultObject )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ REFIID refiid);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultColor )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultRotationAngle )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const long lAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultUserDelete )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const BOOL bUserDelete);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultInnerAngle )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const long lAngle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRegion )( 
            IDWDialObject __RPC_FAR * This,
            /* [out] */ IDWRegion __RPC_FAR *__RPC_FAR *ppIRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMode )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const DIALMODE dmNewMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultBoundaryRectangle )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultCursor )( 
            IDWDialObject __RPC_FAR * This,
            /* [in] */ const HCURSOR hCursor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableObjectBoundary )( 
            IDWDialObject __RPC_FAR * This,
            BOOL bEnable);
        
        END_INTERFACE
    } IDWDialObjectVtbl;

    interface IDWDialObject
    {
        CONST_VTBL struct IDWDialObjectVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDialObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDialObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDialObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDialObject_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDialObject_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDialObject_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDialObject_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDialObject_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDialObject_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDialObject_AddRectangle(This,ppIRectangle)	\
    (This)->lpVtbl -> AddRectangle(This,ppIRectangle)

#define IDWDialObject_AddCircle(This,ppICircle)	\
    (This)->lpVtbl -> AddCircle(This,ppICircle)

#define IDWDialObject_AddTriangleIsosceles(This,ppITriangle)	\
    (This)->lpVtbl -> AddTriangleIsosceles(This,ppITriangle)

#define IDWDialObject_AddPoint(This,ppIPoint)	\
    (This)->lpVtbl -> AddPoint(This,ppIPoint)

#define IDWDialObject_AddLine(This,ppILine)	\
    (This)->lpVtbl -> AddLine(This,ppILine)

#define IDWDialObject_StartEnumeration(This,plNoOfObjects)	\
    (This)->lpVtbl -> StartEnumeration(This,plNoOfObjects)

#define IDWDialObject_Next(This,ppUnknown)	\
    (This)->lpVtbl -> Next(This,ppUnknown)

#define IDWDialObject_SetOrigin(This,ptOrigin)	\
    (This)->lpVtbl -> SetOrigin(This,ptOrigin)

#define IDWDialObject_SetUnits(This,dX,dY)	\
    (This)->lpVtbl -> SetUnits(This,dX,dY)

#define IDWDialObject_SetDefaultObject(This,refiid)	\
    (This)->lpVtbl -> SetDefaultObject(This,refiid)

#define IDWDialObject_SetDefaultColor(This,byColor)	\
    (This)->lpVtbl -> SetDefaultColor(This,byColor)

#define IDWDialObject_SetDefaultRotationAngle(This,lAngle)	\
    (This)->lpVtbl -> SetDefaultRotationAngle(This,lAngle)

#define IDWDialObject_SetDefaultUserDelete(This,bUserDelete)	\
    (This)->lpVtbl -> SetDefaultUserDelete(This,bUserDelete)

#define IDWDialObject_SetDefaultInnerAngle(This,lAngle)	\
    (This)->lpVtbl -> SetDefaultInnerAngle(This,lAngle)

#define IDWDialObject_AddRegion(This,ppIRegion)	\
    (This)->lpVtbl -> AddRegion(This,ppIRegion)

#define IDWDialObject_SetMode(This,dmNewMode)	\
    (This)->lpVtbl -> SetMode(This,dmNewMode)

#define IDWDialObject_SetDefaultBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetDefaultBoundaryRectangle(This,lprcBoundary)

#define IDWDialObject_SetDefaultCursor(This,hCursor)	\
    (This)->lpVtbl -> SetDefaultCursor(This,hCursor)

#define IDWDialObject_EnableObjectBoundary(This,bEnable)	\
    (This)->lpVtbl -> EnableObjectBoundary(This,bEnable)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_AddRectangle_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ IDWRectangle __RPC_FAR *__RPC_FAR *ppIRectangle);


void __RPC_STUB IDWDialObject_AddRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_AddCircle_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ IDWCircle __RPC_FAR *__RPC_FAR *ppICircle);


void __RPC_STUB IDWDialObject_AddCircle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_AddTriangleIsosceles_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ IDWTriangleIsosceles __RPC_FAR *__RPC_FAR *ppITriangle);


void __RPC_STUB IDWDialObject_AddTriangleIsosceles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_AddPoint_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ IDWPoint __RPC_FAR *__RPC_FAR *ppIPoint);


void __RPC_STUB IDWDialObject_AddPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_AddLine_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ IDWLine __RPC_FAR *__RPC_FAR *ppILine);


void __RPC_STUB IDWDialObject_AddLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_StartEnumeration_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plNoOfObjects);


void __RPC_STUB IDWDialObject_StartEnumeration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_Next_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown);


void __RPC_STUB IDWDialObject_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetOrigin_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const POINT ptOrigin);


void __RPC_STUB IDWDialObject_SetOrigin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetUnits_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const double dX,
    /* [in] */ const double dY);


void __RPC_STUB IDWDialObject_SetUnits_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultObject_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ REFIID refiid);


void __RPC_STUB IDWDialObject_SetDefaultObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultColor_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const BYTE byColor);


void __RPC_STUB IDWDialObject_SetDefaultColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultRotationAngle_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const long lAngle);


void __RPC_STUB IDWDialObject_SetDefaultRotationAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultUserDelete_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const BOOL bUserDelete);


void __RPC_STUB IDWDialObject_SetDefaultUserDelete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultInnerAngle_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const long lAngle);


void __RPC_STUB IDWDialObject_SetDefaultInnerAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_AddRegion_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [out] */ IDWRegion __RPC_FAR *__RPC_FAR *ppIRegion);


void __RPC_STUB IDWDialObject_AddRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetMode_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const DIALMODE dmNewMode);


void __RPC_STUB IDWDialObject_SetMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultBoundaryRectangle_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const LPRECT lprcBoundary);


void __RPC_STUB IDWDialObject_SetDefaultBoundaryRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_SetDefaultCursor_Proxy( 
    IDWDialObject __RPC_FAR * This,
    /* [in] */ const HCURSOR hCursor);


void __RPC_STUB IDWDialObject_SetDefaultCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialObject_EnableObjectBoundary_Proxy( 
    IDWDialObject __RPC_FAR * This,
    BOOL bEnable);


void __RPC_STUB IDWDialObject_EnableObjectBoundary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDialObject_INTERFACE_DEFINED__ */


#ifndef __IDWDialRectangle_INTERFACE_DEFINED__
#define __IDWDialRectangle_INTERFACE_DEFINED__

/* interface IDWDialRectangle */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDialRectangle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf0-f51b-11d3-82f3-00105a67f94e")
    IDWDialRectangle : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNoOfWindows( 
            /* [in] */ const long lNoOfWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNoOfWindows( 
            /* [out] */ long __RPC_FAR *plNoOfWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowPosition( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const LPRECT prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWindowPosition( 
            /* [in] */ const long lWindowNo,
            /* [out] */ LPRECT prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowDescription( 
            /* [in] */ const long lWindowNo,
            /* [string][in] */ const OLECHAR __RPC_FAR *strText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowColor( 
            /* [in] */ const long lWindowNo,
            /* [in] */ const BYTE byColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBoundaryRectangle( 
            /* [in] */ const LPRECT lprcBoundary) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDialRectangleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDialRectangle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDialRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDialRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDialRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDialRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNoOfWindows )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const long lNoOfWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNoOfWindows )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plNoOfWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowPosition )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const LPRECT prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindowPosition )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [out] */ LPRECT prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowDescription )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [string][in] */ const OLECHAR __RPC_FAR *strText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowColor )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const long lWindowNo,
            /* [in] */ const BYTE byColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBoundaryRectangle )( 
            IDWDialRectangle __RPC_FAR * This,
            /* [in] */ const LPRECT lprcBoundary);
        
        END_INTERFACE
    } IDWDialRectangleVtbl;

    interface IDWDialRectangle
    {
        CONST_VTBL struct IDWDialRectangleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDialRectangle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDialRectangle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDialRectangle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDialRectangle_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDialRectangle_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDialRectangle_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDialRectangle_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDialRectangle_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDialRectangle_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDialRectangle_SetNoOfWindows(This,lNoOfWindows)	\
    (This)->lpVtbl -> SetNoOfWindows(This,lNoOfWindows)

#define IDWDialRectangle_GetNoOfWindows(This,plNoOfWindows)	\
    (This)->lpVtbl -> GetNoOfWindows(This,plNoOfWindows)

#define IDWDialRectangle_SetWindowPosition(This,lWindowNo,prcPosition)	\
    (This)->lpVtbl -> SetWindowPosition(This,lWindowNo,prcPosition)

#define IDWDialRectangle_GetWindowPosition(This,lWindowNo,prcPosition)	\
    (This)->lpVtbl -> GetWindowPosition(This,lWindowNo,prcPosition)

#define IDWDialRectangle_SetWindowDescription(This,lWindowNo,strText)	\
    (This)->lpVtbl -> SetWindowDescription(This,lWindowNo,strText)

#define IDWDialRectangle_SetWindowColor(This,lWindowNo,byColor)	\
    (This)->lpVtbl -> SetWindowColor(This,lWindowNo,byColor)

#define IDWDialRectangle_SetBoundaryRectangle(This,lprcBoundary)	\
    (This)->lpVtbl -> SetBoundaryRectangle(This,lprcBoundary)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_SetNoOfWindows_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [in] */ const long lNoOfWindows);


void __RPC_STUB IDWDialRectangle_SetNoOfWindows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_GetNoOfWindows_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plNoOfWindows);


void __RPC_STUB IDWDialRectangle_GetNoOfWindows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_SetWindowPosition_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const LPRECT prcPosition);


void __RPC_STUB IDWDialRectangle_SetWindowPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_GetWindowPosition_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [out] */ LPRECT prcPosition);


void __RPC_STUB IDWDialRectangle_GetWindowPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_SetWindowDescription_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [string][in] */ const OLECHAR __RPC_FAR *strText);


void __RPC_STUB IDWDialRectangle_SetWindowDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_SetWindowColor_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [in] */ const long lWindowNo,
    /* [in] */ const BYTE byColor);


void __RPC_STUB IDWDialRectangle_SetWindowColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialRectangle_SetBoundaryRectangle_Proxy( 
    IDWDialRectangle __RPC_FAR * This,
    /* [in] */ const LPRECT lprcBoundary);


void __RPC_STUB IDWDialRectangle_SetBoundaryRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDialRectangle_INTERFACE_DEFINED__ */


#ifndef __IDWDialMouseClick_INTERFACE_DEFINED__
#define __IDWDialMouseClick_INTERFACE_DEFINED__

/* interface IDWDialMouseClick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWDialMouseClick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf2-f51b-11d3-82f3-00105a67f94e")
    IDWDialMouseClick : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEvent( 
            /* [in] */ DWORD __RPC_FAR *pdwEvent,
            /* [in] */ POINT __RPC_FAR *pptRelativePosition,
            /* [in] */ POINT __RPC_FAR *pptScreenPosition) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDialMouseClickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDialMouseClick __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDialMouseClick __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDialMouseClick __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDialMouseClick __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDialMouseClick __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDialMouseClick __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDialMouseClick __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDialMouseClick __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDialMouseClick __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEvent )( 
            IDWDialMouseClick __RPC_FAR * This,
            /* [in] */ DWORD __RPC_FAR *pdwEvent,
            /* [in] */ POINT __RPC_FAR *pptRelativePosition,
            /* [in] */ POINT __RPC_FAR *pptScreenPosition);
        
        END_INTERFACE
    } IDWDialMouseClickVtbl;

    interface IDWDialMouseClick
    {
        CONST_VTBL struct IDWDialMouseClickVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDialMouseClick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDialMouseClick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDialMouseClick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDialMouseClick_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDialMouseClick_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDialMouseClick_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDialMouseClick_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDialMouseClick_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDialMouseClick_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDialMouseClick_GetEvent(This,pdwEvent,pptRelativePosition,pptScreenPosition)	\
    (This)->lpVtbl -> GetEvent(This,pdwEvent,pptRelativePosition,pptScreenPosition)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDialMouseClick_GetEvent_Proxy( 
    IDWDialMouseClick __RPC_FAR * This,
    /* [in] */ DWORD __RPC_FAR *pdwEvent,
    /* [in] */ POINT __RPC_FAR *pptRelativePosition,
    /* [in] */ POINT __RPC_FAR *pptScreenPosition);


void __RPC_STUB IDWDialMouseClick_GetEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDialMouseClick_INTERFACE_DEFINED__ */


#ifndef __IDWDebugHistogram_INTERFACE_DEFINED__
#define __IDWDebugHistogram_INTERFACE_DEFINED__

/* interface IDWDebugHistogram */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDebugHistogram;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf8-f51b-11d3-82f3-00105a67f94e")
    IDWDebugHistogram : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ const BYTE byColorIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDebugHistogramVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDebugHistogram __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDebugHistogram __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDebugHistogram __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDebugHistogram __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDebugHistogram __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDebugHistogram __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDebugHistogram __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDebugHistogram __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDebugHistogram __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColor )( 
            IDWDebugHistogram __RPC_FAR * This,
            /* [in] */ const BYTE byColorIndex);
        
        END_INTERFACE
    } IDWDebugHistogramVtbl;

    interface IDWDebugHistogram
    {
        CONST_VTBL struct IDWDebugHistogramVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDebugHistogram_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDebugHistogram_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDebugHistogram_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDebugHistogram_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDebugHistogram_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDebugHistogram_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDebugHistogram_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDebugHistogram_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDebugHistogram_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDebugHistogram_SetColor(This,byColorIndex)	\
    (This)->lpVtbl -> SetColor(This,byColorIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDebugHistogram_SetColor_Proxy( 
    IDWDebugHistogram __RPC_FAR * This,
    /* [in] */ const BYTE byColorIndex);


void __RPC_STUB IDWDebugHistogram_SetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDebugHistogram_INTERFACE_DEFINED__ */


#ifndef __IDWDebugMagnifier_INTERFACE_DEFINED__
#define __IDWDebugMagnifier_INTERFACE_DEFINED__

/* interface IDWDebugMagnifier */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDebugMagnifier;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4c01-f51b-11d3-82f3-00105a67f94e")
    IDWDebugMagnifier : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ const BYTE byColorIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDebugMagnifierVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDebugMagnifier __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDebugMagnifier __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDebugMagnifier __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDebugMagnifier __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDebugMagnifier __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDebugMagnifier __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDebugMagnifier __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDebugMagnifier __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDebugMagnifier __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColor )( 
            IDWDebugMagnifier __RPC_FAR * This,
            /* [in] */ const BYTE byColorIndex);
        
        END_INTERFACE
    } IDWDebugMagnifierVtbl;

    interface IDWDebugMagnifier
    {
        CONST_VTBL struct IDWDebugMagnifierVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDebugMagnifier_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDebugMagnifier_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDebugMagnifier_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDebugMagnifier_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDebugMagnifier_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDebugMagnifier_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDebugMagnifier_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDebugMagnifier_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDebugMagnifier_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDebugMagnifier_SetColor(This,byColorIndex)	\
    (This)->lpVtbl -> SetColor(This,byColorIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDebugMagnifier_SetColor_Proxy( 
    IDWDebugMagnifier __RPC_FAR * This,
    /* [in] */ const BYTE byColorIndex);


void __RPC_STUB IDWDebugMagnifier_SetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDebugMagnifier_INTERFACE_DEFINED__ */


#ifndef __IDWDebugProfile_INTERFACE_DEFINED__
#define __IDWDebugProfile_INTERFACE_DEFINED__

/* interface IDWDebugProfile */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IDWDebugProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf9-f51b-11d3-82f3-00105a67f94e")
    IDWDebugProfile : public IDWDialBase
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMode( 
            /* [in] */ const long lMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ const BYTE byColorIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWDebugProfileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWDebugProfile __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWDebugProfile __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWDebugProfile __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModal )( 
            IDWDebugProfile __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoModeless )( 
            IDWDebugProfile __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWDebugProfile __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowGraphics )( 
            IDWDebugProfile __RPC_FAR * This,
            /* [in] */ const BOOL bShow);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
            IDWDebugProfile __RPC_FAR * This,
            /* [out] */ BOOL __RPC_FAR *pbActive);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallback )( 
            IDWDebugProfile __RPC_FAR * This,
            /* [in] */ const DWORD dwUserData,
            /* [in] */ const long lAddress);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMode )( 
            IDWDebugProfile __RPC_FAR * This,
            /* [in] */ const long lMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColor )( 
            IDWDebugProfile __RPC_FAR * This,
            /* [in] */ const BYTE byColorIndex);
        
        END_INTERFACE
    } IDWDebugProfileVtbl;

    interface IDWDebugProfile
    {
        CONST_VTBL struct IDWDebugProfileVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWDebugProfile_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWDebugProfile_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWDebugProfile_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWDebugProfile_DoModal(This)	\
    (This)->lpVtbl -> DoModal(This)

#define IDWDebugProfile_DoModeless(This)	\
    (This)->lpVtbl -> DoModeless(This)

#define IDWDebugProfile_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWDebugProfile_ShowGraphics(This,bShow)	\
    (This)->lpVtbl -> ShowGraphics(This,bShow)

#define IDWDebugProfile_GetStatus(This,pbActive)	\
    (This)->lpVtbl -> GetStatus(This,pbActive)

#define IDWDebugProfile_SetCallback(This,dwUserData,lAddress)	\
    (This)->lpVtbl -> SetCallback(This,dwUserData,lAddress)


#define IDWDebugProfile_SetMode(This,lMode)	\
    (This)->lpVtbl -> SetMode(This,lMode)

#define IDWDebugProfile_SetColor(This,byColorIndex)	\
    (This)->lpVtbl -> SetColor(This,byColorIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDebugProfile_SetMode_Proxy( 
    IDWDebugProfile __RPC_FAR * This,
    /* [in] */ const long lMode);


void __RPC_STUB IDWDebugProfile_SetMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWDebugProfile_SetColor_Proxy( 
    IDWDebugProfile __RPC_FAR * This,
    /* [in] */ const BYTE byColorIndex);


void __RPC_STUB IDWDebugProfile_SetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWDebugProfile_INTERFACE_DEFINED__ */


#ifndef __IDWInformation_INTERFACE_DEFINED__
#define __IDWInformation_INTERFACE_DEFINED__

/* interface IDWInformation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf5-f51b-11d3-82f3-00105a67f94e")
    IDWInformation : public IQUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNoOfWindows( 
            /* [out] */ long __RPC_FAR *plNoOfCreatedWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartEnumeration( 
            /* [out] */ long __RPC_FAR *plNoOfWindows) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNextWindowData( 
            /* [out] */ long __RPC_FAR *phWnd,
            /* [out] */ DWORD __RPC_FAR *pdwWindowID,
            /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindWindow( 
            /* [in] */ const DWORD dwWindowID,
            /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWInformation __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWInformation __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWInformation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )( 
            IDWInformation __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plMajor,
            /* [out] */ long __RPC_FAR *plMinor,
            /* [out] */ long __RPC_FAR *plBugfix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNoOfWindows )( 
            IDWInformation __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plNoOfCreatedWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartEnumeration )( 
            IDWInformation __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plNoOfWindows);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextWindowData )( 
            IDWInformation __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *phWnd,
            /* [out] */ DWORD __RPC_FAR *pdwWindowID,
            /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockObject )( 
            IDWInformation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnlockObject )( 
            IDWInformation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindWindow )( 
            IDWInformation __RPC_FAR * This,
            /* [in] */ const DWORD dwWindowID,
            /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown);
        
        END_INTERFACE
    } IDWInformationVtbl;

    interface IDWInformation
    {
        CONST_VTBL struct IDWInformationVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWInformation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWInformation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWInformation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWInformation_GetVersion(This,plMajor,plMinor,plBugfix)	\
    (This)->lpVtbl -> GetVersion(This,plMajor,plMinor,plBugfix)


#define IDWInformation_GetNoOfWindows(This,plNoOfCreatedWindows)	\
    (This)->lpVtbl -> GetNoOfWindows(This,plNoOfCreatedWindows)

#define IDWInformation_StartEnumeration(This,plNoOfWindows)	\
    (This)->lpVtbl -> StartEnumeration(This,plNoOfWindows)

#define IDWInformation_GetNextWindowData(This,phWnd,pdwWindowID,ppUnknown)	\
    (This)->lpVtbl -> GetNextWindowData(This,phWnd,pdwWindowID,ppUnknown)

#define IDWInformation_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IDWInformation_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IDWInformation_FindWindow(This,dwWindowID,ppUnknown)	\
    (This)->lpVtbl -> FindWindow(This,dwWindowID,ppUnknown)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWInformation_GetNoOfWindows_Proxy( 
    IDWInformation __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plNoOfCreatedWindows);


void __RPC_STUB IDWInformation_GetNoOfWindows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWInformation_StartEnumeration_Proxy( 
    IDWInformation __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plNoOfWindows);


void __RPC_STUB IDWInformation_StartEnumeration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWInformation_GetNextWindowData_Proxy( 
    IDWInformation __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *phWnd,
    /* [out] */ DWORD __RPC_FAR *pdwWindowID,
    /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown);


void __RPC_STUB IDWInformation_GetNextWindowData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWInformation_LockObject_Proxy( 
    IDWInformation __RPC_FAR * This);


void __RPC_STUB IDWInformation_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWInformation_UnlockObject_Proxy( 
    IDWInformation __RPC_FAR * This);


void __RPC_STUB IDWInformation_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWInformation_FindWindow_Proxy( 
    IDWInformation __RPC_FAR * This,
    /* [in] */ const DWORD dwWindowID,
    /* [out] */ LPUNKNOWN __RPC_FAR *ppUnknown);


void __RPC_STUB IDWInformation_FindWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWInformation_INTERFACE_DEFINED__ */


#ifndef __IDWColorTable_INTERFACE_DEFINED__
#define __IDWColorTable_INTERFACE_DEFINED__

/* interface IDWColorTable */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWColorTable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf6-f51b-11d3-82f3-00105a67f94e")
    IDWColorTable : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Dialog( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTable( 
            /* [in] */ const long lNoOfEntries,
            /* [out] */ LPCOLORREF prgbColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTable( 
            /* [in] */ const long lNoOfEntries,
            /* [in] */ const COLORREF __RPC_FAR *prgbColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColorFileName( 
            /* [string][in] */ const OLECHAR __RPC_FAR *lpolestrFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWColorTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWColorTable __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWColorTable __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWColorTable __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Dialog )( 
            IDWColorTable __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTable )( 
            IDWColorTable __RPC_FAR * This,
            /* [in] */ const long lNoOfEntries,
            /* [out] */ LPCOLORREF prgbColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTable )( 
            IDWColorTable __RPC_FAR * This,
            /* [in] */ const long lNoOfEntries,
            /* [in] */ const COLORREF __RPC_FAR *prgbColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColorFileName )( 
            IDWColorTable __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *lpolestrFileName);
        
        END_INTERFACE
    } IDWColorTableVtbl;

    interface IDWColorTable
    {
        CONST_VTBL struct IDWColorTableVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWColorTable_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWColorTable_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWColorTable_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWColorTable_Dialog(This)	\
    (This)->lpVtbl -> Dialog(This)

#define IDWColorTable_GetTable(This,lNoOfEntries,prgbColor)	\
    (This)->lpVtbl -> GetTable(This,lNoOfEntries,prgbColor)

#define IDWColorTable_SetTable(This,lNoOfEntries,prgbColor)	\
    (This)->lpVtbl -> SetTable(This,lNoOfEntries,prgbColor)

#define IDWColorTable_SetColorFileName(This,lpolestrFileName)	\
    (This)->lpVtbl -> SetColorFileName(This,lpolestrFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWColorTable_Dialog_Proxy( 
    IDWColorTable __RPC_FAR * This);


void __RPC_STUB IDWColorTable_Dialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWColorTable_GetTable_Proxy( 
    IDWColorTable __RPC_FAR * This,
    /* [in] */ const long lNoOfEntries,
    /* [out] */ LPCOLORREF prgbColor);


void __RPC_STUB IDWColorTable_GetTable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWColorTable_SetTable_Proxy( 
    IDWColorTable __RPC_FAR * This,
    /* [in] */ const long lNoOfEntries,
    /* [in] */ const COLORREF __RPC_FAR *prgbColor);


void __RPC_STUB IDWColorTable_SetTable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWColorTable_SetColorFileName_Proxy( 
    IDWColorTable __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *lpolestrFileName);


void __RPC_STUB IDWColorTable_SetColorFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWColorTable_INTERFACE_DEFINED__ */


#ifndef __IDWSetupFile_INTERFACE_DEFINED__
#define __IDWSetupFile_INTERFACE_DEFINED__

/* interface IDWSetupFile */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWSetupFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0da4bf7-f51b-11d3-82f3-00105a67f94e")
    IDWSetupFile : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFileName( 
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrFilename) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileName( 
            /* [size_is][out] */ OLECHAR __RPC_FAR *pstrFileName,
            /* [out][in] */ short __RPC_FAR *psNoOfChars) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartEnumeration( 
            /* [out] */ long __RPC_FAR *plNoOfEntries) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNext( 
            /* [string][out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppstrName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetZoom( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const long lZoom) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetZoom( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plZoom) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCaption( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][in] */ const OLECHAR __RPC_FAR *strCaption) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCaption( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppstrCaption) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWindowID( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const DWORD dwWindowID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWindowID( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ DWORD __RPC_FAR *pdwWindowID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnableScrollbars( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnableScrollbars( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnableFreeSize( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnableFreeSize( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnableLivingFrame( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnableLivingFrame( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnableStore( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnableStore( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStyle( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const DWORD dwStyle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStyle( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ DWORD __RPC_FAR *pdwStyle) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const RECT __RPC_FAR *prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ RECT __RPC_FAR *prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPalette( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const long lNoOfThresholds,
            /* [size_is][in] */ const BYTE __RPC_FAR *pbyThresholds,
            /* [size_is][in] */ const USHORT __RPC_FAR *pusColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPalette( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out][in] */ long __RPC_FAR *plNoOfThresholds,
            /* [size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *pbyThreshold,
            /* [size_is][out] */ USHORT __RPC_FAR *__RPC_FAR *pusColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHelperPosition( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][in] */ const OLECHAR __RPC_FAR *strHelper,
            /* [in] */ const RECT __RPC_FAR *prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHelperPosition( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][in] */ const OLECHAR __RPC_FAR *strHelper,
            /* [out] */ RECT __RPC_FAR *prcPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPan( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const POINT __RPC_FAR *pptPan) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPan( 
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ POINT __RPC_FAR *pptPan) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWSetupFileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWSetupFile __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWSetupFile __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWSetupFile __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFileName )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *olestrFilename);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileName )( 
            IDWSetupFile __RPC_FAR * This,
            /* [size_is][out] */ OLECHAR __RPC_FAR *pstrFileName,
            /* [out][in] */ short __RPC_FAR *psNoOfChars);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartEnumeration )( 
            IDWSetupFile __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plNoOfEntries);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNext )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppstrName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoom )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const long lZoom);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoom )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ long __RPC_FAR *plZoom);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCaption )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][in] */ const OLECHAR __RPC_FAR *strCaption);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCaption )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppstrCaption);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWindowID )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const DWORD dwWindowID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindowID )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ DWORD __RPC_FAR *pdwWindowID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableScrollbars )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableScrollbars )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableFreeSize )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableFreeSize )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableLivingFrame )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableLivingFrame )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableStore )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const BOOL bEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableStore )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ BOOL __RPC_FAR *pbEnable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStyle )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const DWORD dwStyle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStyle )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ DWORD __RPC_FAR *pdwStyle);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const RECT __RPC_FAR *prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ RECT __RPC_FAR *prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPalette )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const long lNoOfThresholds,
            /* [size_is][in] */ const BYTE __RPC_FAR *pbyThresholds,
            /* [size_is][in] */ const USHORT __RPC_FAR *pusColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPalette )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out][in] */ long __RPC_FAR *plNoOfThresholds,
            /* [size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *pbyThreshold,
            /* [size_is][out] */ USHORT __RPC_FAR *__RPC_FAR *pusColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelperPosition )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][in] */ const OLECHAR __RPC_FAR *strHelper,
            /* [in] */ const RECT __RPC_FAR *prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelperPosition )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [string][in] */ const OLECHAR __RPC_FAR *strHelper,
            /* [out] */ RECT __RPC_FAR *prcPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPan )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [in] */ const POINT __RPC_FAR *pptPan);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPan )( 
            IDWSetupFile __RPC_FAR * This,
            /* [string][in] */ const OLECHAR __RPC_FAR *strName,
            /* [out] */ POINT __RPC_FAR *pptPan);
        
        END_INTERFACE
    } IDWSetupFileVtbl;

    interface IDWSetupFile
    {
        CONST_VTBL struct IDWSetupFileVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWSetupFile_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWSetupFile_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWSetupFile_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWSetupFile_SetFileName(This,olestrFilename)	\
    (This)->lpVtbl -> SetFileName(This,olestrFilename)

#define IDWSetupFile_GetFileName(This,pstrFileName,psNoOfChars)	\
    (This)->lpVtbl -> GetFileName(This,pstrFileName,psNoOfChars)

#define IDWSetupFile_StartEnumeration(This,plNoOfEntries)	\
    (This)->lpVtbl -> StartEnumeration(This,plNoOfEntries)

#define IDWSetupFile_GetNext(This,ppstrName)	\
    (This)->lpVtbl -> GetNext(This,ppstrName)

#define IDWSetupFile_SetZoom(This,strName,lZoom)	\
    (This)->lpVtbl -> SetZoom(This,strName,lZoom)

#define IDWSetupFile_GetZoom(This,strName,plZoom)	\
    (This)->lpVtbl -> GetZoom(This,strName,plZoom)

#define IDWSetupFile_SetCaption(This,strName,strCaption)	\
    (This)->lpVtbl -> SetCaption(This,strName,strCaption)

#define IDWSetupFile_GetCaption(This,strName,ppstrCaption)	\
    (This)->lpVtbl -> GetCaption(This,strName,ppstrCaption)

#define IDWSetupFile_SetWindowID(This,strName,dwWindowID)	\
    (This)->lpVtbl -> SetWindowID(This,strName,dwWindowID)

#define IDWSetupFile_GetWindowID(This,strName,pdwWindowID)	\
    (This)->lpVtbl -> GetWindowID(This,strName,pdwWindowID)

#define IDWSetupFile_SetEnableScrollbars(This,strName,bEnable)	\
    (This)->lpVtbl -> SetEnableScrollbars(This,strName,bEnable)

#define IDWSetupFile_GetEnableScrollbars(This,strName,pbEnable)	\
    (This)->lpVtbl -> GetEnableScrollbars(This,strName,pbEnable)

#define IDWSetupFile_SetEnableFreeSize(This,strName,bEnable)	\
    (This)->lpVtbl -> SetEnableFreeSize(This,strName,bEnable)

#define IDWSetupFile_GetEnableFreeSize(This,strName,pbEnable)	\
    (This)->lpVtbl -> GetEnableFreeSize(This,strName,pbEnable)

#define IDWSetupFile_SetEnableLivingFrame(This,strName,bEnable)	\
    (This)->lpVtbl -> SetEnableLivingFrame(This,strName,bEnable)

#define IDWSetupFile_GetEnableLivingFrame(This,strName,pbEnable)	\
    (This)->lpVtbl -> GetEnableLivingFrame(This,strName,pbEnable)

#define IDWSetupFile_SetEnableStore(This,strName,bEnable)	\
    (This)->lpVtbl -> SetEnableStore(This,strName,bEnable)

#define IDWSetupFile_GetEnableStore(This,strName,pbEnable)	\
    (This)->lpVtbl -> GetEnableStore(This,strName,pbEnable)

#define IDWSetupFile_SetStyle(This,strName,dwStyle)	\
    (This)->lpVtbl -> SetStyle(This,strName,dwStyle)

#define IDWSetupFile_GetStyle(This,strName,pdwStyle)	\
    (This)->lpVtbl -> GetStyle(This,strName,pdwStyle)

#define IDWSetupFile_SetPosition(This,strName,prcPosition)	\
    (This)->lpVtbl -> SetPosition(This,strName,prcPosition)

#define IDWSetupFile_GetPosition(This,strName,prcPosition)	\
    (This)->lpVtbl -> GetPosition(This,strName,prcPosition)

#define IDWSetupFile_SetPalette(This,strName,lNoOfThresholds,pbyThresholds,pusColor)	\
    (This)->lpVtbl -> SetPalette(This,strName,lNoOfThresholds,pbyThresholds,pusColor)

#define IDWSetupFile_GetPalette(This,strName,plNoOfThresholds,pbyThreshold,pusColor)	\
    (This)->lpVtbl -> GetPalette(This,strName,plNoOfThresholds,pbyThreshold,pusColor)

#define IDWSetupFile_SetHelperPosition(This,strName,strHelper,prcPosition)	\
    (This)->lpVtbl -> SetHelperPosition(This,strName,strHelper,prcPosition)

#define IDWSetupFile_GetHelperPosition(This,strName,strHelper,prcPosition)	\
    (This)->lpVtbl -> GetHelperPosition(This,strName,strHelper,prcPosition)

#define IDWSetupFile_SetPan(This,strName,pptPan)	\
    (This)->lpVtbl -> SetPan(This,strName,pptPan)

#define IDWSetupFile_GetPan(This,strName,pptPan)	\
    (This)->lpVtbl -> GetPan(This,strName,pptPan)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetFileName_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *olestrFilename);


void __RPC_STUB IDWSetupFile_SetFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetFileName_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [size_is][out] */ OLECHAR __RPC_FAR *pstrFileName,
    /* [out][in] */ short __RPC_FAR *psNoOfChars);


void __RPC_STUB IDWSetupFile_GetFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_StartEnumeration_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plNoOfEntries);


void __RPC_STUB IDWSetupFile_StartEnumeration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetNext_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppstrName);


void __RPC_STUB IDWSetupFile_GetNext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetZoom_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const long lZoom);


void __RPC_STUB IDWSetupFile_SetZoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetZoom_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ long __RPC_FAR *plZoom);


void __RPC_STUB IDWSetupFile_GetZoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetCaption_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [string][in] */ const OLECHAR __RPC_FAR *strCaption);


void __RPC_STUB IDWSetupFile_SetCaption_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetCaption_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [string][out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppstrCaption);


void __RPC_STUB IDWSetupFile_GetCaption_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetWindowID_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const DWORD dwWindowID);


void __RPC_STUB IDWSetupFile_SetWindowID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetWindowID_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ DWORD __RPC_FAR *pdwWindowID);


void __RPC_STUB IDWSetupFile_GetWindowID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetEnableScrollbars_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWSetupFile_SetEnableScrollbars_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetEnableScrollbars_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ BOOL __RPC_FAR *pbEnable);


void __RPC_STUB IDWSetupFile_GetEnableScrollbars_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetEnableFreeSize_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWSetupFile_SetEnableFreeSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetEnableFreeSize_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ BOOL __RPC_FAR *pbEnable);


void __RPC_STUB IDWSetupFile_GetEnableFreeSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetEnableLivingFrame_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWSetupFile_SetEnableLivingFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetEnableLivingFrame_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ BOOL __RPC_FAR *pbEnable);


void __RPC_STUB IDWSetupFile_GetEnableLivingFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetEnableStore_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const BOOL bEnable);


void __RPC_STUB IDWSetupFile_SetEnableStore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetEnableStore_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ BOOL __RPC_FAR *pbEnable);


void __RPC_STUB IDWSetupFile_GetEnableStore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetStyle_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const DWORD dwStyle);


void __RPC_STUB IDWSetupFile_SetStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetStyle_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ DWORD __RPC_FAR *pdwStyle);


void __RPC_STUB IDWSetupFile_GetStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetPosition_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const RECT __RPC_FAR *prcPosition);


void __RPC_STUB IDWSetupFile_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetPosition_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ RECT __RPC_FAR *prcPosition);


void __RPC_STUB IDWSetupFile_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetPalette_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const long lNoOfThresholds,
    /* [size_is][in] */ const BYTE __RPC_FAR *pbyThresholds,
    /* [size_is][in] */ const USHORT __RPC_FAR *pusColor);


void __RPC_STUB IDWSetupFile_SetPalette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetPalette_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out][in] */ long __RPC_FAR *plNoOfThresholds,
    /* [size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *pbyThreshold,
    /* [size_is][out] */ USHORT __RPC_FAR *__RPC_FAR *pusColor);


void __RPC_STUB IDWSetupFile_GetPalette_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetHelperPosition_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [string][in] */ const OLECHAR __RPC_FAR *strHelper,
    /* [in] */ const RECT __RPC_FAR *prcPosition);


void __RPC_STUB IDWSetupFile_SetHelperPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetHelperPosition_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [string][in] */ const OLECHAR __RPC_FAR *strHelper,
    /* [out] */ RECT __RPC_FAR *prcPosition);


void __RPC_STUB IDWSetupFile_GetHelperPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_SetPan_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [in] */ const POINT __RPC_FAR *pptPan);


void __RPC_STUB IDWSetupFile_SetPan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSetupFile_GetPan_Proxy( 
    IDWSetupFile __RPC_FAR * This,
    /* [string][in] */ const OLECHAR __RPC_FAR *strName,
    /* [out] */ POINT __RPC_FAR *pptPan);


void __RPC_STUB IDWSetupFile_GetPan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWSetupFile_INTERFACE_DEFINED__ */


#ifndef __IDWChuckRotation_INTERFACE_DEFINED__
#define __IDWChuckRotation_INTERFACE_DEFINED__

/* interface IDWChuckRotation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWChuckRotation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8956AB98-1ADF-4855-A79D-B8321AB5D423")
    IDWChuckRotation : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStartingAlignPoint( 
            /* [in] */ const POINT ptStart) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachObserver( 
            /* [in] */ IDWChuckRotationObserver __RPC_FAR *observer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachObserver( 
            IDWChuckRotationObserver __RPC_FAR *observer) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWChuckRotationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWChuckRotation __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWChuckRotation __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWChuckRotation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            IDWChuckRotation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWChuckRotation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
            IDWChuckRotation __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStartingAlignPoint )( 
            IDWChuckRotation __RPC_FAR * This,
            /* [in] */ const POINT ptStart);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachObserver )( 
            IDWChuckRotation __RPC_FAR * This,
            /* [in] */ IDWChuckRotationObserver __RPC_FAR *observer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DetachObserver )( 
            IDWChuckRotation __RPC_FAR * This,
            IDWChuckRotationObserver __RPC_FAR *observer);
        
        END_INTERFACE
    } IDWChuckRotationVtbl;

    interface IDWChuckRotation
    {
        CONST_VTBL struct IDWChuckRotationVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWChuckRotation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWChuckRotation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWChuckRotation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWChuckRotation_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDWChuckRotation_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWChuckRotation_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IDWChuckRotation_SetStartingAlignPoint(This,ptStart)	\
    (This)->lpVtbl -> SetStartingAlignPoint(This,ptStart)

#define IDWChuckRotation_AttachObserver(This,observer)	\
    (This)->lpVtbl -> AttachObserver(This,observer)

#define IDWChuckRotation_DetachObserver(This,observer)	\
    (This)->lpVtbl -> DetachObserver(This,observer)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWChuckRotation_Start_Proxy( 
    IDWChuckRotation __RPC_FAR * This);


void __RPC_STUB IDWChuckRotation_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWChuckRotation_Stop_Proxy( 
    IDWChuckRotation __RPC_FAR * This);


void __RPC_STUB IDWChuckRotation_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWChuckRotation_Reset_Proxy( 
    IDWChuckRotation __RPC_FAR * This);


void __RPC_STUB IDWChuckRotation_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWChuckRotation_SetStartingAlignPoint_Proxy( 
    IDWChuckRotation __RPC_FAR * This,
    /* [in] */ const POINT ptStart);


void __RPC_STUB IDWChuckRotation_SetStartingAlignPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWChuckRotation_AttachObserver_Proxy( 
    IDWChuckRotation __RPC_FAR * This,
    /* [in] */ IDWChuckRotationObserver __RPC_FAR *observer);


void __RPC_STUB IDWChuckRotation_AttachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWChuckRotation_DetachObserver_Proxy( 
    IDWChuckRotation __RPC_FAR * This,
    IDWChuckRotationObserver __RPC_FAR *observer);


void __RPC_STUB IDWChuckRotation_DetachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWChuckRotation_INTERFACE_DEFINED__ */


#ifndef __IDWGridPitch_INTERFACE_DEFINED__
#define __IDWGridPitch_INTERFACE_DEFINED__

/* interface IDWGridPitch */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWGridPitch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EC294C93-87B4-47F9-B4C8-B6F118E6D6B7")
    IDWGridPitch : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDieSize( 
            /* [in] */ const int HorSize,
            /* [in] */ const int VertSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHorPitch( 
            /* [in] */ const float Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVertPitch( 
            /* [in] */ const float Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetReferencePos( 
            /* [in] */ const POINT ptRef) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachObserver( 
            /* [in] */ IDWGridPitchObserver __RPC_FAR *observer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachObserver( 
            /* [in] */ IDWGridPitchObserver __RPC_FAR *observer) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWGridPitchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWGridPitch __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWGridPitch __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            IDWGridPitch __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWGridPitch __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDieSize )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ const int HorSize,
            /* [in] */ const int VertSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHorPitch )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ const float Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVertPitch )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ const float Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReferencePos )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ const POINT ptRef);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachObserver )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ IDWGridPitchObserver __RPC_FAR *observer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DetachObserver )( 
            IDWGridPitch __RPC_FAR * This,
            /* [in] */ IDWGridPitchObserver __RPC_FAR *observer);
        
        END_INTERFACE
    } IDWGridPitchVtbl;

    interface IDWGridPitch
    {
        CONST_VTBL struct IDWGridPitchVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWGridPitch_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWGridPitch_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWGridPitch_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWGridPitch_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDWGridPitch_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWGridPitch_SetDieSize(This,HorSize,VertSize)	\
    (This)->lpVtbl -> SetDieSize(This,HorSize,VertSize)

#define IDWGridPitch_SetHorPitch(This,Val)	\
    (This)->lpVtbl -> SetHorPitch(This,Val)

#define IDWGridPitch_SetVertPitch(This,Val)	\
    (This)->lpVtbl -> SetVertPitch(This,Val)

#define IDWGridPitch_SetReferencePos(This,ptRef)	\
    (This)->lpVtbl -> SetReferencePos(This,ptRef)

#define IDWGridPitch_AttachObserver(This,observer)	\
    (This)->lpVtbl -> AttachObserver(This,observer)

#define IDWGridPitch_DetachObserver(This,observer)	\
    (This)->lpVtbl -> DetachObserver(This,observer)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_Start_Proxy( 
    IDWGridPitch __RPC_FAR * This);


void __RPC_STUB IDWGridPitch_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_Stop_Proxy( 
    IDWGridPitch __RPC_FAR * This);


void __RPC_STUB IDWGridPitch_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_SetDieSize_Proxy( 
    IDWGridPitch __RPC_FAR * This,
    /* [in] */ const int HorSize,
    /* [in] */ const int VertSize);


void __RPC_STUB IDWGridPitch_SetDieSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_SetHorPitch_Proxy( 
    IDWGridPitch __RPC_FAR * This,
    /* [in] */ const float Val);


void __RPC_STUB IDWGridPitch_SetHorPitch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_SetVertPitch_Proxy( 
    IDWGridPitch __RPC_FAR * This,
    /* [in] */ const float Val);


void __RPC_STUB IDWGridPitch_SetVertPitch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_SetReferencePos_Proxy( 
    IDWGridPitch __RPC_FAR * This,
    /* [in] */ const POINT ptRef);


void __RPC_STUB IDWGridPitch_SetReferencePos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_AttachObserver_Proxy( 
    IDWGridPitch __RPC_FAR * This,
    /* [in] */ IDWGridPitchObserver __RPC_FAR *observer);


void __RPC_STUB IDWGridPitch_AttachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridPitch_DetachObserver_Proxy( 
    IDWGridPitch __RPC_FAR * This,
    /* [in] */ IDWGridPitchObserver __RPC_FAR *observer);


void __RPC_STUB IDWGridPitch_DetachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWGridPitch_INTERFACE_DEFINED__ */


#ifndef __IDWGridSelect_INTERFACE_DEFINED__
#define __IDWGridSelect_INTERFACE_DEFINED__

/* interface IDWGridSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWGridSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("002F0624-8F1B-451A-BB5B-9FCCA2E3FC64")
    IDWGridSelect : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDieSize( 
            /* [in] */ const BYTE DieTypeIdx,
            /* [in] */ const int HorSize,
            /* [in] */ const int VertSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDieToList( 
            /* [in] */ const int DieIdx,
            /* [in] */ const BYTE DieTypeIdx,
            /* [in] */ const POINT Position,
            /* [in] */ const BYTE ColorIdx) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearDieList( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearDieTypeList( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Redraw( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachObserver( 
            /* [in] */ IDWGridSelectObserver __RPC_FAR *observer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachObserver( 
            /* [in] */ IDWGridSelectObserver __RPC_FAR *observer) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWGridSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWGridSelect __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWGridSelect __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWGridSelect __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            IDWGridSelect __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWGridSelect __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDieSize )( 
            IDWGridSelect __RPC_FAR * This,
            /* [in] */ const BYTE DieTypeIdx,
            /* [in] */ const int HorSize,
            /* [in] */ const int VertSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDieToList )( 
            IDWGridSelect __RPC_FAR * This,
            /* [in] */ const int DieIdx,
            /* [in] */ const BYTE DieTypeIdx,
            /* [in] */ const POINT Position,
            /* [in] */ const BYTE ColorIdx);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ClearDieList )( 
            IDWGridSelect __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ClearDieTypeList )( 
            IDWGridSelect __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Redraw )( 
            IDWGridSelect __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachObserver )( 
            IDWGridSelect __RPC_FAR * This,
            /* [in] */ IDWGridSelectObserver __RPC_FAR *observer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DetachObserver )( 
            IDWGridSelect __RPC_FAR * This,
            /* [in] */ IDWGridSelectObserver __RPC_FAR *observer);
        
        END_INTERFACE
    } IDWGridSelectVtbl;

    interface IDWGridSelect
    {
        CONST_VTBL struct IDWGridSelectVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWGridSelect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWGridSelect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWGridSelect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWGridSelect_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDWGridSelect_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWGridSelect_SetDieSize(This,DieTypeIdx,HorSize,VertSize)	\
    (This)->lpVtbl -> SetDieSize(This,DieTypeIdx,HorSize,VertSize)

#define IDWGridSelect_AddDieToList(This,DieIdx,DieTypeIdx,Position,ColorIdx)	\
    (This)->lpVtbl -> AddDieToList(This,DieIdx,DieTypeIdx,Position,ColorIdx)

#define IDWGridSelect_ClearDieList(This)	\
    (This)->lpVtbl -> ClearDieList(This)

#define IDWGridSelect_ClearDieTypeList(This)	\
    (This)->lpVtbl -> ClearDieTypeList(This)

#define IDWGridSelect_Redraw(This)	\
    (This)->lpVtbl -> Redraw(This)

#define IDWGridSelect_AttachObserver(This,observer)	\
    (This)->lpVtbl -> AttachObserver(This,observer)

#define IDWGridSelect_DetachObserver(This,observer)	\
    (This)->lpVtbl -> DetachObserver(This,observer)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_Start_Proxy( 
    IDWGridSelect __RPC_FAR * This);


void __RPC_STUB IDWGridSelect_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_Stop_Proxy( 
    IDWGridSelect __RPC_FAR * This);


void __RPC_STUB IDWGridSelect_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_SetDieSize_Proxy( 
    IDWGridSelect __RPC_FAR * This,
    /* [in] */ const BYTE DieTypeIdx,
    /* [in] */ const int HorSize,
    /* [in] */ const int VertSize);


void __RPC_STUB IDWGridSelect_SetDieSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_AddDieToList_Proxy( 
    IDWGridSelect __RPC_FAR * This,
    /* [in] */ const int DieIdx,
    /* [in] */ const BYTE DieTypeIdx,
    /* [in] */ const POINT Position,
    /* [in] */ const BYTE ColorIdx);


void __RPC_STUB IDWGridSelect_AddDieToList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_ClearDieList_Proxy( 
    IDWGridSelect __RPC_FAR * This);


void __RPC_STUB IDWGridSelect_ClearDieList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_ClearDieTypeList_Proxy( 
    IDWGridSelect __RPC_FAR * This);


void __RPC_STUB IDWGridSelect_ClearDieTypeList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_Redraw_Proxy( 
    IDWGridSelect __RPC_FAR * This);


void __RPC_STUB IDWGridSelect_Redraw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_AttachObserver_Proxy( 
    IDWGridSelect __RPC_FAR * This,
    /* [in] */ IDWGridSelectObserver __RPC_FAR *observer);


void __RPC_STUB IDWGridSelect_AttachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWGridSelect_DetachObserver_Proxy( 
    IDWGridSelect __RPC_FAR * This,
    /* [in] */ IDWGridSelectObserver __RPC_FAR *observer);


void __RPC_STUB IDWGridSelect_DetachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWGridSelect_INTERFACE_DEFINED__ */


#ifndef __IDWSelectRectangle_INTERFACE_DEFINED__
#define __IDWSelectRectangle_INTERFACE_DEFINED__

/* interface IDWSelectRectangle */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDWSelectRectangle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2E005740-E1A6-4BA4-AEDD-68D69512EEBE")
    IDWSelectRectangle : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFirstCornerPos( 
            /* [in] */ const POINT FirstCorner) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachObserver( 
            /* [in] */ IDWSelectRectangleObserver __RPC_FAR *observer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachObserver( 
            /* [in] */ IDWSelectRectangleObserver __RPC_FAR *observer) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDWSelectRectangleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDWSelectRectangle __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDWSelectRectangle __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDWSelectRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
            IDWSelectRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
            IDWSelectRectangle __RPC_FAR * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFirstCornerPos )( 
            IDWSelectRectangle __RPC_FAR * This,
            /* [in] */ const POINT FirstCorner);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachObserver )( 
            IDWSelectRectangle __RPC_FAR * This,
            /* [in] */ IDWSelectRectangleObserver __RPC_FAR *observer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DetachObserver )( 
            IDWSelectRectangle __RPC_FAR * This,
            /* [in] */ IDWSelectRectangleObserver __RPC_FAR *observer);
        
        END_INTERFACE
    } IDWSelectRectangleVtbl;

    interface IDWSelectRectangle
    {
        CONST_VTBL struct IDWSelectRectangleVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDWSelectRectangle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDWSelectRectangle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDWSelectRectangle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDWSelectRectangle_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDWSelectRectangle_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDWSelectRectangle_SetFirstCornerPos(This,FirstCorner)	\
    (This)->lpVtbl -> SetFirstCornerPos(This,FirstCorner)

#define IDWSelectRectangle_AttachObserver(This,observer)	\
    (This)->lpVtbl -> AttachObserver(This,observer)

#define IDWSelectRectangle_DetachObserver(This,observer)	\
    (This)->lpVtbl -> DetachObserver(This,observer)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSelectRectangle_Start_Proxy( 
    IDWSelectRectangle __RPC_FAR * This);


void __RPC_STUB IDWSelectRectangle_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSelectRectangle_Stop_Proxy( 
    IDWSelectRectangle __RPC_FAR * This);


void __RPC_STUB IDWSelectRectangle_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSelectRectangle_SetFirstCornerPos_Proxy( 
    IDWSelectRectangle __RPC_FAR * This,
    /* [in] */ const POINT FirstCorner);


void __RPC_STUB IDWSelectRectangle_SetFirstCornerPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSelectRectangle_AttachObserver_Proxy( 
    IDWSelectRectangle __RPC_FAR * This,
    /* [in] */ IDWSelectRectangleObserver __RPC_FAR *observer);


void __RPC_STUB IDWSelectRectangle_AttachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDWSelectRectangle_DetachObserver_Proxy( 
    IDWSelectRectangle __RPC_FAR * This,
    /* [in] */ IDWSelectRectangleObserver __RPC_FAR *observer);


void __RPC_STUB IDWSelectRectangle_DetachObserver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDWSelectRectangle_INTERFACE_DEFINED__ */



#ifndef __DISPLAYLib_LIBRARY_DEFINED__
#define __DISPLAYLib_LIBRARY_DEFINED__

/* library DISPLAYLib */
/* [helpstring][helpfile][version][uuid] */ 


EXTERN_C const IID LIBID_DISPLAYLib;

EXTERN_C const CLSID CLSID_Display;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd1-f51b-11d3-82f3-00105a67f94e")
Display;
#endif

EXTERN_C const CLSID CLSID_DisplayInformation;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd2-f51b-11d3-82f3-00105a67f94e")
DisplayInformation;
#endif

EXTERN_C const CLSID CLSID_ColorTable;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd3-f51b-11d3-82f3-00105a67f94e")
ColorTable;
#endif

EXTERN_C const CLSID CLSID_SetupFile;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd4-f51b-11d3-82f3-00105a67f94e")
SetupFile;
#endif

EXTERN_C const CLSID CLSID_RectangleObject;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd6-f51b-11d3-82f3-00105a67f94e")
RectangleObject;
#endif

EXTERN_C const CLSID CLSID_CircleObject;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd7-f51b-11d3-82f3-00105a67f94e")
CircleObject;
#endif

EXTERN_C const CLSID CLSID_TriangleIsoscelesObject;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd8-f51b-11d3-82f3-00105a67f94e")
TriangleIsoscelesObject;
#endif

EXTERN_C const CLSID CLSID_PointObject;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bd9-f51b-11d3-82f3-00105a67f94e")
PointObject;
#endif

EXTERN_C const CLSID CLSID_LineObject;

#ifdef __cplusplus

class DECLSPEC_UUID("b0da4bda-f51b-11d3-82f3-00105a67f94e")
LineObject;
#endif

EXTERN_C const CLSID CLSID_RegionObject;

#ifdef __cplusplus

class DECLSPEC_UUID("CFE7277F-88C0-11D5-99EE-000102E0DA04")
RegionObject;
#endif

EXTERN_C const CLSID CLSID_ToolbarObserver;

#ifdef __cplusplus

class DECLSPEC_UUID("EA20701A-3608-4a2a-B90E-4E4E9A8DE352")
ToolbarObserver;
#endif
#endif /* __DISPLAYLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  HBITMAP_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HBITMAP __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HBITMAP_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HBITMAP __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HBITMAP_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HBITMAP __RPC_FAR * ); 
void                      __RPC_USER  HBITMAP_UserFree(     unsigned long __RPC_FAR *, HBITMAP __RPC_FAR * ); 

unsigned long             __RPC_USER  HBRUSH_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HBRUSH __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HBRUSH_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HBRUSH __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HBRUSH_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HBRUSH __RPC_FAR * ); 
void                      __RPC_USER  HBRUSH_UserFree(     unsigned long __RPC_FAR *, HBRUSH __RPC_FAR * ); 

unsigned long             __RPC_USER  HWND_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HWND __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HWND_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HWND __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  HWND_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HWND __RPC_FAR * ); 
void                      __RPC_USER  HWND_UserFree(     unsigned long __RPC_FAR *, HWND __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif
